出于安全原因,我想在不使用 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 移到新端口的想法 —— 这并不安全,而是一种混淆,而且并不是很好的混淆。