在 public VPN 上通过 SSH 连接到服务器安全吗?
Is it safe to SSH into a server while on a public VPN?
如果我的计算机在 public VPN 上(比如 NordVPN),通过 SSH 连接到服务器安全吗?
我收到警告,The authenticity of host 'FOO.BAR' can't be established. Are you sure you want to continue connecting (yes/no/[fingerprint])?
,我想知道它是否相关 and/or 如果我可以安全地忽略它。
应该没问题。
如果您是第一次连接并且没有将服务器的指纹导入您的客户端,您收到的消息是正常的。
对于每个服务器,指纹存储在客户端的 ~/.ssh/known_hosts 中。如果连接到服务器,ssh 会将保存的指纹与服务器上的实际指纹进行比较。
指纹是根据服务器的public键计算出来的。参见 https://superuser.com/questions/421997/what-is-a-ssh-key-fingerprint-and-how-is-it-generated
如果你从服务器获取到不同的指纹,那就有问题了,你要小心了。
但是如果您是第一次连接,则没有指纹并且 ssh 会询问您这是不是正确的服务器。这称为首次使用信任或 TOFU。
SSH 旨在通过不安全的网络实现安全连接。不安全的网络通常是 Internet,但也可能是 VPN。因此,通过 VPN 的 ssh 连接与通过 Internet 连接一样安全。
将 ssh 服务器暴露给 Internet 存在一些问题。默认端口上有很多扫描,并自动尝试暴力破解登录凭据或利用旧的 ssh 版本。因此你应该
- 使用非标准端口
- 禁用 root 访问并使用普通用户登录,而不是 chroot
- 使用私钥代替密码
- 使用 fail2ban 或其他自动化工具来阻止攻击
如果我的计算机在 public VPN 上(比如 NordVPN),通过 SSH 连接到服务器安全吗?
我收到警告,The authenticity of host 'FOO.BAR' can't be established. Are you sure you want to continue connecting (yes/no/[fingerprint])?
,我想知道它是否相关 and/or 如果我可以安全地忽略它。
应该没问题。
如果您是第一次连接并且没有将服务器的指纹导入您的客户端,您收到的消息是正常的。 对于每个服务器,指纹存储在客户端的 ~/.ssh/known_hosts 中。如果连接到服务器,ssh 会将保存的指纹与服务器上的实际指纹进行比较。
指纹是根据服务器的public键计算出来的。参见 https://superuser.com/questions/421997/what-is-a-ssh-key-fingerprint-and-how-is-it-generated
如果你从服务器获取到不同的指纹,那就有问题了,你要小心了。
但是如果您是第一次连接,则没有指纹并且 ssh 会询问您这是不是正确的服务器。这称为首次使用信任或 TOFU。
SSH 旨在通过不安全的网络实现安全连接。不安全的网络通常是 Internet,但也可能是 VPN。因此,通过 VPN 的 ssh 连接与通过 Internet 连接一样安全。
将 ssh 服务器暴露给 Internet 存在一些问题。默认端口上有很多扫描,并自动尝试暴力破解登录凭据或利用旧的 ssh 版本。因此你应该
- 使用非标准端口
- 禁用 root 访问并使用普通用户登录,而不是 chroot
- 使用私钥代替密码
- 使用 fail2ban 或其他自动化工具来阻止攻击