linux ssh 禁止指定用户通过ssh登录

Linux 禁止用户或 IP通过 SSH 登录

限制用户 SSH 登录

1.只允许指定用户进行登录(白名单):

在 /etc/ssh/sshd_config 配置文件中设置 AllowUsers 选项,(配置完成需要重启 SSHD 服务)格式如下:

AllowUsers    aliyun [email protected]         

# 允许 aliyun 和从 192.168.1.1 登录的 test 帐户通过 SSH 登录系统。

service sshd restart  && systemctl restart sshd  

2.只拒绝指定用户进行登录(黑名单):

在/etc/ssh/sshd_config配置文件中设置DenyUsers选项,(配置完成需要重启SSHD服务)格式如下:

DenyUsers    zhangsan aliyun    #Linux系统账户        
# 拒绝 zhangsan、aliyun 帐户通过 SSH 登录系统

 service sshd restart  && systemctl restart sshd  

限制 IP SSH 登录
除了可以禁止某个用户登录,我们还可以针对固定的IP进行禁止登录,linux 服务器通过设置 /etc/hosts.allow 和 /etc/hosts.deny 这个两个文件,

hosts.allow许可大于hosts.deny可以限制或者允许某个或者某段IP地址远程 SSH 登录服务器.方法比较简单,具体如下:

1. vim /etc/hosts.allow, 添加
 

sshd:192.168.0.1:allow  #允许 192.168.0.1 这个 IP 地址 ssh 登录
sshd:192.168.0.1/24:allow #允许 192.168.0.1/24 这段 IP 地址的用户登录

2.vim /etc/hosts.allow,添加

sshd:ALL # 允许全部的 ssh 登录 

 注意:

hosts.allow 和hosts.deny 两个文件同时设置规则的时候,hosts.allow 文件中的规则优先级高,按照此方法设置后服务器只允许 192.168.0.1 这个 IP 地址的 ssh 登录,其它的 IP 都会拒绝

禁止用户登陆

将非登陆用户的Shell 设置为 /sbin/nologin

[root@localhost ~]# usermod -s /sbin/nologin  a    # 将用户a 的登录解释器 设置为 /sbin/nologin
[root@localhost ~]# echo "123456" | passwd --stdin a
更改用户 a 的密码 。
passwd:所有的身份验证令牌已经成功更新

你可能感兴趣的:(linux,ssh,服务器)