CentOS中禁止用户ssh和sftp登陆的详解

时间:2022-02-21 04:49:33

在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,后续再考虑这个。