在linux中出于安全的需要,我们会禁止某些用户SSH登陆系统进行操作。我这里以centos操作系统为例记录下如何进行处理。
1、打开sshd的配置文件
-
vi/etc/ssh/sshd_config
2、修改该配置文件,增加或修改如下行
-
# 禁止用户user1登陆,多个空格分隔
-
DenyUsers user1
-
# 禁止用户组group1的所有用户登录,多个空格分隔
-
DenyGroups group1
3、保存配置后,重启sshd
-
/etc/rc.d/init.d/sshd restart
完成上面的配置后,就可以禁止用户或用户组的用户进行登录了,第2步中的两个是可以只填一个的,可以根据需要进行调整。配置完毕后,在其他linux机器上使用如下命令进行测试:
-
# 使用ssh测试
-
[root@ServerA ~]# ssh user1@192.168.1.168
-
user1@192.168.1.168’s password:
-
Permission denied, please try again.
-
# 使用sftp测试
-
[root@ServerA ~]# sftp user1@192.168.1.168
-
user1@192.168.1.168’s password:
-
Permission denied, please try again.
可以看到,确实被系统禁止了,从而也就完成了我们想要的控制了。但这个有一个缺陷是,无法禁止只允许sftp而不允许ssh,如果要这样做,估计只能够单独搭建ftp服务器,比如vsftp,后续再考虑这个。