openSSH默认配置文件有两个指令,允许和拒绝对特定用户或组的SSH访问,本文所要介绍的内容是允许或拒绝在Linux系统中对特定用户或组的SSH访问。一旦我们将用户置于限制模式,他就无法做任何事情,除了他被允许做什么,当你希望允许特定用户仅执行一组特定命令时,该方法就能用上了。
一、允许SSH访问用户或组 首先,我们将看到如何允许特定用户的SSH访问(在Ubuntu 18.04系统中启用SSH登录的方法),例如ywnz。 请注意,所有命令都应以root用户身份运行。 转到远程服务器,然后编辑sshd_config文件: $ sudo vi /etc/ssh/sshd_config 添加或编辑以下行: AllowUsers ywnz 注:请将“ywnz”替换为为的用户名,你还可以指定多个用户,如下所示: AllowUsers ywnz ywnz-1 注:多出了一个ywnz-1用户。 要允许整个组(例如root)添加/编辑以下行: AllowGroups root 处于“root”组的人可以ssh到远程服务器。 保存并退出SSH配置文件,重启SSH服务以使更改生效: $ sudo systemctl restart sshd 现在,用户ywnz,ywnz-1或“root”组下的所有用户都可以ssh到你的远程服务器,其他用户则不能。 如果你尝试使用任何一个非允许用户ssh到远程服务器,你将收到以下错误消息: Permission denied, please try again.(即许可被拒绝,请再试一次。) 至此,允许SSH访问用户或组目的达到了。现在,让我们继续看看如何拒绝/禁用对特定用户或组的ssh访问。
二、拒绝SSH访问用户或组 要禁用或拒绝对任何用户或组的SSH访问,你需要在远程服务器的sshd_config文件中添加/编辑以下指令。 要拒绝对名为“ywnz”的特定用户的SSH访问,请编辑sshd_config文件: $ sudo vi /etc/ssh/sshd_config 在sshd_config文件中添加/编辑以下行: DenyUsers ywnz 同样,要拒绝对多个用户的SSH访问,请指定空格分隔的用户名,如下所示: DenyUsers ywnz ywnz-1 要拒绝对整个组(例如root)的SSH访问,请添加: DenyGroups root 保存并退出ssh配置文件,重新启动ssh服务以使更改生效: $ sudo systemctl restart sshd 如果你尝试使用被拒绝的用户ssh到服务器,例如ywnz: ssh ywnz@192.168.1.150 你将收到以下消息: ywnz@192.168.1.150's password: Permission denied, please try again. ywnz@192.168.1.150's password: 至此,拒绝SSH访问用户或组目的达到。 当然,你也应该禁用root用户登录,在安全性方面,root ssh访问被认为是一种不好的做法,参考VPS安装Debian后如何禁用root SSH登录一文。 要禁用root ssh登录,请编辑sshd_config文件: $ sudo vi /etc/ssh/sshd_config 找到以下行,取消注释,并将值设置为no: PermitRootLogin no 然后重启SSH服务,至此,你已经禁用了ssh root登录。
相关主题 |