这篇文章将介绍如何修改sshd的默认设置以确保sshd安全和受限制,进行保护你的服务器免受黑客入侵。每次你更改sshd的配置文件后需要重启 sshd。这样做你当前的连接是不会关闭的。确保你有一个单独的以root登录的终端,以防止你错误的配置。这样做你就可以避免错误配置时仍可以使用 root权限更正错误。
更改ssh默认端口号
首先,推荐把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
[ad1]
[ad0]