方法一:
采用 AllowUsers 选项能够方便地达到这一目的。 例如, 想要只允许 root 用户从 192.168.1.32 登录, 就可以在 /etc/ssh/sshd_config 文件中加入下述设置:
AllowUsers root@192.168.1.32
要允许用户 admin 从任何地方登录, 则只需列出用户名:
AllowUsers admin
可以在同一行指定多个用户, 例如:
AllowUsers root@192.168.1.32 admin
注意: 列出需要登录机器的用户很重要; 否则他们将被锁在外面。
在完成对 /etc/ssh/sshd_config 的修改之后您必须告诉 sshd( 重新加载其配置文件, 方法是执行:
# /etc/rc.d/sshd reload
AllowUsers root@192.168.1.32
要允许用户 admin 从任何地方登录, 则只需列出用户名:
AllowUsers admin
可以在同一行指定多个用户, 例如:
AllowUsers root@192.168.1.32 admin
注意: 列出需要登录机器的用户很重要; 否则他们将被锁在外面。
在完成对 /etc/ssh/sshd_config 的修改之后您必须告诉 sshd( 重新加载其配置文件, 方法是执行:
# /etc/rc.d/sshd reload
方法二:
最后一个我想说的限制是阻止从其他地方登录,这是通过编辑 /etc/login.access 实现的。
你可能希望禁止一切远程登录(这意味着你必须物理地坐在机器前面),删除下面这一行前面的#号:
#-:wheel:ALL EXCEPT LOCAL .win.tue.nl
把 .win.tue.nl 去掉,于是它看起来将像这样:
-:wheel:ALL EXCEPT LOCAL
如果你需要从远程登录,那么把.win.tue.nl 替换为相应的IP或域名。如果有多个地址,用空格分开。
如果只有一两个用户的话,那么可以拒绝其他人登录:
-:ALL EXCEPT user1 user2:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4
用具体的用户名替换掉 user1 user2 。如果需要的话,增加相应的tty。
另外,也可以把用户组方在这里。首先,编辑 /etc/group 并增加下面的行:
mygroup:*:100:genisis,dlavigne6,biko
当增加组时,需要保证GID的唯一性。
随后,修改 /etc/login.access :
-:ALL EXCEPT mygroup:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4 ttyv5
测试它非常重要,一定要留一个终端。测试每一个终端上的登录,确认其效果。
你可能希望禁止一切远程登录(这意味着你必须物理地坐在机器前面),删除下面这一行前面的#号:
#-:wheel:ALL EXCEPT LOCAL .win.tue.nl
把 .win.tue.nl 去掉,于是它看起来将像这样:
-:wheel:ALL EXCEPT LOCAL
如果你需要从远程登录,那么把.win.tue.nl 替换为相应的IP或域名。如果有多个地址,用空格分开。
如果只有一两个用户的话,那么可以拒绝其他人登录:
-:ALL EXCEPT user1 user2:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4
用具体的用户名替换掉 user1 user2 。如果需要的话,增加相应的tty。
另外,也可以把用户组方在这里。首先,编辑 /etc/group 并增加下面的行:
mygroup:*:100:genisis,dlavigne6,biko
当增加组时,需要保证GID的唯一性。
随后,修改 /etc/login.access :
-:ALL EXCEPT mygroup:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4 ttyv5
测试它非常重要,一定要留一个终端。测试每一个终端上的登录,确认其效果。
另外
开启了telnet之后如果在/etc/login.access里面限制了登录,那么该用户照样是不能登录的。
/etc/login.access
在里面加了-:abc:ALL以后,abc用户无法telnet了。
/etc/login.access
在里面加了-:abc:ALL以后,abc用户无法telnet了。