CentOS中禁止用户ssh和sftp登陆的详解
在linux中出于安全的需要,我们会禁止某些用户SSH登陆系统进行操作。我这里以centos操作系统为例记录下如何进行处理。
1、打开sshd的配置文件
?
1 |
vi/etc/ssh/sshd_config |
2、修改该配置文件,增加或修改如下行
?
1 2 3 4 |
# 禁止用户user1登陆,多个空格分隔 DenyUsers user1 # 禁止用户组group1的所有用户登录,多个空格分隔 DenyGroups group1 |
3、保存配置后,重启sshd
?
1 |
/etc/rc.d/init.d/sshd restart |
完成上面的配置后,就可以禁止用户或用户组的用户进行登录了,第2步中的两个是可以只填一个的,可以根据需要进行调整。配置完毕后,在其他linux机器上使用如下命令进行测试:
?
1 2 3 4 5 6 7 8 |
# 使用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,后续再考虑这个。