1. 实现只允许特定用户ssh登录
1.1. 直接配置ssh来实现
编辑/etc/ssh/sshd_config,在末尾添加如下一行
AllowUsers user1 user2 user3
然后重启sshd服务即可。
1.2. 通过配置PAM来实现
在/etc/pam.d/sshd中添加第一行
auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail
然后在/etc/sshusers中添加允许的用户名,无需重启sshd。
2. 实现禁止特定用户登录
2.1. 直接配置ssh
编辑/etc/ssh/sshd_config,在末尾添加如下一行
DenyUsers user1 user2 user3
然后重启sshd服务即可。
2.2. 通过配置PAM来实现
在/etc/pam.d/sshd中添加第一行
auth required pam_listfile.so item=user sense=deny file=/etc/sshusers onerr=succeed
然后在/etc/sshusers中添加禁止的用户名,无需重启sshd。
ubuntu下开启和关闭sshd服务
service ssh stop
service ssh start
3. 实现只允许/禁止来自特定host的登录
3.1. 使用TCP wrappers
在/etc/hosts.allow和/etc/hosts.deny中添加相应的sshd规则即可。
如在/etc/hosts.allow中添加如下规则
sshd: 192.168.1 192.168.0.25
会只允许来自192.168.1.0/24和192.168.0.25的ssh登录。
3.2. 使用iptables
如下面规则
iptables -A INPUT -p tcp -m state --state NEW --source 192.168.0.25 --dport 22 -j ACCEPT
会只允许来自192.168.0.25的ssh登录。