为所有用户禁用 SSH 的最佳方法是什么?

为所有用户禁用 SSH 的最佳方法是什么?

出于安全原因,我想在不使用 SSH 时将其关闭,然后通过 VNC 连接再次打开它,因为我可以通过 Digitalocean 控制面板的控制台远程连接到我的 Web 服务器,然后以这种方式打开 SSH。

以下是最好的做法吗?

sudo stop ssh
sudo ufw deny 22

并通过 VNC 开启 SSH

sudo ufw allow 22/tcp
sudo start ssh 

或者我应该使用以下任何一种变体?

sudo service ssh stop
sudo systemctl stop ssh
sudo /etc/init.d/ssh stop

我在 UBUNTU 16.04 LTS 服务器上。我想为所有用户禁用 SSH,而不仅仅是 root 用户。

我已经采取了此处列出的所有安全措施:https://askubuntu.com/questions/880316/more-secure-ubuntu-16-04-web-server-for-wordpressVNC 控制台位于 Digitalocean 控制面板后面,只能通过双因素身份验证进行访问。我无法禁用此控制台,因为它是 Digitalocean 控制面板的一部分。

答案1

说实话,“出于安全原因”,关闭端口 22 而让 5900 保持打开状态是没有意义的。端口就是端口。那么让我们看看另一边的服务。SSH 可以支持 2 因素和公钥身份验证。VNC 有(可能仍然有)和 8 个字符的密码限制。编辑:此外,VNC 没有加密。

将 ssh 移至其他端口(例如 4521),并启用双因素身份验证。这才是安全的。

答案2

将您的 ssh 服务移至不同的端口并使用基于密钥的身份验证以使其更安全。

跟踪 ssh 端口上的未经授权的访问尝试并禁止这些 IP 地址。

答案3

正如其他人提到的,vnc 的安全性远不如 ssh;您最好通过 ssh 隧道传输您的 vnc 会话。(谷歌 ssh 隧道,简而言之,从您的起点开始 ssh -L 5901:localhost:5901 you@remotemachine; vncviewer localhost:1)

使用密码(或程度较小的情况下无密码的 ssh 密钥将有助于提高 ssh 的安全性。mfa 是大概对于大多数家庭用户来说有点太多了,但这是可能的,并且确实提高了安全性。

我不同意将 ssh 移到新端口的想法 —— 这并不安全,而是一种混淆,而且并不是很好的混淆。

相关内容