如何配置安全的SSH

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

更改ssh默认端口号

首先,推荐把sshd默认端口号22改为比1024大的端口号。大多数的端口扫描器默认只扫描1024以下的端口。打开sshd配置文件/etc/ssh/sshd_config找到如下代码:

  1. Port 22

并改为:

  1. Port 10000

现在重启sshd:

  1. /etc/init.d/ssh restart

从现在开始,你需要用10000端口登录服务器:

  1. ssh -p 10000 name@myserver.local

只允许指定主机连接

这一步我们将通过客户端的IP地址来限制通过ssh连接服务器。编辑文件/etc/hosts.allow,增加如下代码:

  1. sshd: X

X代表允许登录sshd的IP地址,如果允许多个IP地址登录则用空格分开。
现在编辑/etc/hosts.deny文件拒绝所有其它的主机登录:

  1. sshd:ALL

只允许指定用户登录

不是每一个用户都需要使用ssh连接服务器。只允许指定用户通过ssh连接服务器增强了安全性。比如,只允许用户foobar通过ssh连接服务器,编辑/etc/ssh/sshd_config并增加如下代码:

  1. AllowUsers foobar

如果想添加多个用户,可以使用空格分开。

拒绝root ssh登录

通常的不允许root用户通过ssh连接服务器是一个明智的举措。你可以编辑/etc/ssh/sshd_config文件更改或者添加如下代码:

  1. PermitRootLogin no
[ad1]
[ad0]