不允许 root ssh 登录

不以 root 用户身份通过 ssh 连接总是明智的。
我们可以通过编辑 /etc/ssh/sshd_config 并更改或者创建行来强制执行此想法:

PermitRootLogin no
如何保护 ssh

以下是关于如何更改 sshd 默认配置设置以使 ssh 守护程序更安全/更具限制性,从而保护服务器免受不受欢迎的入侵者的几种方法。

说明:

每次更改 sshd 配置文件时,都需要重新启动 sshd。
这样做不会关闭我们当前的连接!确保我们有一个单独的终端打开并以 root 登录,以防我们配置错误。
这样我们就不会将自己锁定在自己的服务器之外。

只允许特定主机连接

在这一步中,我们将对客户端能够将 vie ssh 连接到服务器的 IP 地址施加一些限制。
编辑 /etc/hosts.allow 并添加行:

sshd: X

其中 X 是允许连接的主机的 IP 地址。
如果我们想添加更多 IP 地址列表,请用“”分隔每个 IP 地址。

现在通过编辑 /etc/hosts.deny 文件拒绝所有其他主机并添加以下行:

sshd: ALL
更改默认 ssh 端口号

首先,建议将默认端口 22 更改为高于 1024 的其他端口号。
默认情况下,大多数端口扫描器不会扫描高于 1024 的端口。
打开 sshd 配置文件 /etc/ssh/sshd_config 并找到一行说

Port 22

并将其更改为:

Port 10000

现在重启你的 sshd:

/etc/init.d/ssh restart

从现在开始,我们将需要使用以下 linux 命令登录到服务器:

ssh -p 10000 name@myserver.local
只允许特定用户登录

并非系统上的每个用户都需要使用 ssh 服务器设施进行连接。
仅允许特定用户连接到服务器。
例如,如果用户 foobar 在服务器上有一个帐户,并且这是唯一需要通过 ssh 访问服务器的用户,我们可以编辑 /etc/ssh/sshd_config 并添加行:

AllowUsers foobar

如果我们想向 AllowUsers 列表添加更多用户,请用“”分隔每个用户名。

日期:2020-07-07 20:54:43 来源:oir作者:oir