问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SSH权限详解

发布网友 发布时间:2022-09-06 21:48

我来回答

1个回答

热心网友 时间:2024-10-24 19:30

原文链接

之前两篇文章 利用SSH代理访问内网资源 和 使用SSH代理在本地开发环境调试各种回调 两篇文章,介绍了ssh的各种代理姿势,SSH的功能确实强悍。如果用过ssh代理功能,就有人要问了,我能否*用户只允许使用代理功能,而不允许用户登录到我的系统中呢?

当然可以!否则又怎么会称为SSH(注:SSH是Secure Shell的缩写)呢?连权限都不能保障怎么敢叫 Secure 呢?本篇文章就来详解下SSH的花式权限,来点不一样的干货。

先谈谈SSH有哪些功能,才能谈到每个功能有哪些权限。SSH最常见的有三大功能:

其次是SSH是一个典型的C/S应用,服务端运行 sshd 守护进程,监听 TCP/22 端口(默认情况下),客户端运行 ssh 程序,远程连接 sshd 应用,使用以上三种功能。

sshd 使用 /etc/ssh/sshd_config 和 ~/.ssh/authorized_keys (这个文件仅用于做密钥认证的配置,如果和sshd_config配置冲突则此文件配置生效。此配置文件可以实现细化到密钥的权限,gitlab使用此配置实现用户的ssh访问控制)配置文件做服务配置, ssh 客户端使用 /etc/ssh/ssh_config (全局配置)和 ~/.ssh/config (个性配置)两个配置文件(windows 10的openssh使用 %USERPROFILE%\.ssh\config )。默认配置文件几乎不用动,ssh就帮我们做好了开箱即用的配置。本文不会讲解ssh每个配置项的含义,只会根据一些场景讲解对应的权限控制,所有场景都是以默认配置为基准,讲解一些常用的配置,一些不常用的配置项就不提及了。

下面我们将详解每个功能的权限

最基本的使用方式,直接远程连接到服务器的shell上,实现远程控制的需求。

只要用户满足以下条件之一,ssh便会拒绝登录:

所以通常创建一个低权限账户,只负责运行本地服务的,使用的useradd命令大致如下:

新用户无密码,并且不是一个合法的shell,所以根本没法登录

如果连motd信息都不想让用户看到,可以直接创建一个 ~/.hushlogin 空文件即可。如果想通过修改配置文件,那么需要同时修改 /etc/sshd_config ( PrintMotd no )和 /etc/pam.d/sshd (去掉 pam_motd.so 加载),比较麻烦。

设置 PermitRootLogin 选项即可。 no 表示彻底拒绝root远程登录,想要切换成root就只能通过普通用户的 su - 或 sudo -i 切换root身份了。 prohibit-password 和 without-password (Ubuntu 14.04以后默认)表示拒绝密码登录,表示只能通过密钥登录了。 forced-commands-only 选项表示只允许密钥认证,但是必须给定 command ,也就是非交互式执行ssh。

这个其实办法很多,比如在防火墙控制,在 /etc/hosts.(deny|allow) 控制等,其实在 /etc/sshd_config 也可以控制,方法就是使用 Match address ,比如:

用sshd配置本身做ip白名单的比较少,但是 Match 配置却是一个非常有用的配置项,它可以实现我们对用户或用户组区别对待,这个我们会在后面再细说。

有关代理的使用可以参考我之前写的 利用SSH代理访问内网资源 和 使用SSH代理在本地开发环境调试各种回调 两篇文章。

x11转发功能实际应用会非常罕见,作用是将远程的图形数据在本地的X server上展示,以实现本地操作远程图形程序的功能。首先是Linux服务器大多运行在无图形环境下,本身就没有图形化程序跑在上面,再加上客户机可能多数是windows,又没有X环境,更加*了这个功能的使用。还有就是x11 forwarding性能不是很好,实际使用会发现非常卡,不适合使用那种对响应速度要求比较灵敏的应用程序,比如浏览器,在x11 forwarding下运行动图会非常卡。最后就是需要跑图形化程序的服务器多数都安装有桌面环境,配置有vnc,因此就更没有人愿意使用这个功能了。

如果不希望所有端口都能用于转发请求,可以配置 PermitOpen 参数:

如果允许多个端口用于转发,那么必须一个个配置出来, any (默认)表示所有端口都允许用于转发。

这个比较繁琐,因为目前常见的通过ssh传输文件的有三个命令 scp , rsync , sftp 。它们的机制不一样,其中 scp 和 rsync 是通过远程非交互式执行命令实现的,而 sftp 是通过openssh的sftp server实现的。

对于 scp 和 rsync ,只需要*非交互式命令就可以了,比如

或在 ~/.ssh/authorized_keys 对应的rsa public key 前面加上 command="/bin/bash" (参考gitlab的 /var/opt/gitlab/.ssh/authorized_keys ),效果是等效的。这样就可以实现允许用户远程登录系统,但是 scp 和 rsync 命令失效,同时由于限定死了command参数,导致你的非交互式ssh命令也无法使用了,比如 ssh user@ip ls / 这一类非交互式ssh不起作用了。

但是对于 sftp 的*则要容易的多,因为 sftp 权限是单独分开的,不和ssh命令执行权限混在一起,并且sftp也和ftp一样,有自带的一些命令实现(比如ls, cd, get, put等等),如果设置

或等效的 ~/.ssh/authorized_keys 配置,则表示只允许使用sftp,不允许shell登录。如果配置中去掉 Subsystem sftp /usr/lib/openssh/sftp-server 这一行就可以关闭sftp服务

经常时候我们需要混合以上各种权限使用。比如某些用户我们开放出来,但是*它的功能,此时 Match 配置就是我们的好朋友了。

由于用户不能登录shell,不能使用密码认证,因此想要使用代理,必须使用类似于下面的命令:

使用 -i 参数指定私钥文件用于公钥认证,使用 -N 参数表示不执行远程命令,仅仅使用port forwarding。

这里我们Match了 sftp-only 这个组,在这个组下面的用户都使用下面的配置。使用了ForceCommand,因此不能登录shell,使用了 ChrootDirectory *了用户的根目录,关闭了各种转发功能。

通过 Match 的组合,我们可以很方便的*一些特定用户的权限,这样就实现了ssh用户的一些特殊化管理。

这里只是按照一些可能遇到的场景讲解了下 sshd_config 的配置,对于等效的 ~/.ssh/authorized_keys 配置同样适用。其实ssh还有很多强大的功能,但是用的可能比较少,这里就不详细讲解那些不太常见的参数了,有兴趣的读者可以自行查阅man手册获取更多资料:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...有关气体的制取装置或实验操作,错误的是( )A.制取氧气的发生装置B... 下列实验操作和做法中,错误的是( ) A.制取气体时,先检查气体发生装置的... 《两个人的小森林》庄羽身世 《我的兄弟叫顺溜》中陈大雷的警卫员演员庄羽的基本资料,要详细点 1s2 2s2 2p6 3s2……能继续往后吗?f再往后是什么?顺序怎么排? 苹果六s24G 的是多少寸? 庄羽作品集内容简介 惰性电子对效应解释与其内容 不是我说你内容简介 半张脸的作者简介 sshd_config配置详解 丿的组词有哪些词语 撇 有什么组词 求一部现代都市僵尸小说 五年前有段时间,经常梦到我已故的父亲,而我什么都没做,现在有什么可以... 梦见去世的父亲在老家的墙角看我我赶不走 福寿鱼怎么做好吃 福寿鱼的美味做法 的做法,红烧福寿鱼怎么做好吃,红烧福寿鱼的家常做法 我想清楚知到“两会” 和“荣辱观”的意义?帮帮忙 嘉兴的区号? 东莞长安及虎门这边哪有手机包膜机卖?拜托各位帮忙,谢谢... latex并排放置图片文件中如何使“图1孙悟空”位于孙悟空图片的正... Getting over it 如何下载 两会期间纪检晚上查房怎么表达 stylenanda 3ce 的这个代言人是谁? 成毅一共代言了多少品牌 95猪男和98年虎女 95年猪和98虎八字合不合 属虎的与属猪的八字合不合做生意 合不合财 常见的关键词优化的技巧都有哪些? 白雪皑皑的皑音序?读音?皑皑的意思? ssh和sshd的区别 求推荐一些现代杀手类小说,或者现代僵尸类小说,或者修仙修神小说。 僵尸.吸血鬼小说(要现代都市的) 垃圾分类横幅宣传语 寻好看的僵尸小说,都市鬼修 月度工作总结万能模板5篇 : 两人‘’欢歌笑语,舒情畅饮,悠闲雅致,令人羡慕什么意思‘。’ 好不令人羡慕的意思? 对方条件出众,令人羡慕不已是什么意思 腰椎不好 如何锻炼肌肉 快速瑜伽一字马怎么练 布达拉宫一直备受关注,你知道地下八层是什么样么? 千年不倒的佛教圣地布达拉宫,究竟隐藏了多少秘密?" 提前还按揭房贷流程是怎样的 宝宝什么时候必须戒掉奶瓶 麻辣烫商用配方 分享给大家 公司员工竞聘主管演讲稿 社保卡看病,公补是什么费用? 社保卡有公保补贴入账是怎么回事? 篮球火23集那首什么“绝对无敌的传说”什么的那首歌名叫什么