概述
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登录。
最后
以上就是纯情保温杯为你收集整理的在Linux系统中允许或拒绝SSH访问特定用户或组的方法的全部内容,希望文章能够帮你解决在Linux系统中允许或拒绝SSH访问特定用户或组的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复