推荐把sshd默认端口号22改为比1024大的端口号。大多数的端口扫描器默认只扫描1024以下的端口。打开sshd配置文件/etc/ssh/sshd_config找到如下代码:
- Port 22
并改为:
- Port 10000
现在重启sshd:
- /etc/init.d/ssh restart
从现在开始,你需要用10000端口登录服务器:
- ssh -p 10000 name@myserver.local
只允许指定主机连接
这一步我们将通过客户端的IP地址来限制通过ssh连接服务器。编辑文件/etc/hosts.allow,增加如下代码:
- sshd: X
X代表允许登录sshd的IP地址,如果允许多个IP地址登录则用空格分开。
现在编辑/etc/hosts.deny文件拒绝所有其它的主机登录:
- sshd:ALL
只允许指定用户登录
不是每一个用户都需要使用ssh连接服务器。只允许指定用户通过ssh连接服务器增强了安全性。比如,只允许用户foobar通过ssh连接服务器,编辑/etc/ssh/sshd_config并增加如下代码:
- AllowUsers foobar
如果想添加多个用户,可以使用空格分开。
拒绝root ssh登录
通常的不允许root用户通过ssh连接服务器是一个明智的举措。你可以编辑/etc/ssh/sshd_config文件更改或者添加如下代码:
- PermitRootLogin no