首页 > 解决方案 > 在公共 VPN 上通过 SSH 连接到服务器是否安全?

问题描述

如果我的计算机在公共 VPN 上(想想类似 NordVPN),那么通过 SSH 连接到服务器是否安全?我收到警告,The authenticity of host 'FOO.BAR' can't be established. Are you sure you want to continue connecting (yes/no/[fingerprint])?我想知道它是否相关和/或我是否可以安全地忽略它。

标签: securitysshvpn

解决方案


应该没问题。

如果您第一次连接并且没有将服务器的指纹导入到您的客户端,您收到的消息是正常的。对于每个服务器,指纹存储在客户端的 ~/.ssh/known_hosts 中。如果您连接到服务器,ssh 会将保存的指纹与来自服务器的实际指纹进行比较。

指纹是根据服务器的公钥计算出来的。请参阅https://superuser.com/questions/421997/what-is-a-ssh-key-fingerprint-and-how-is-it-generated

如果您从服务器获得不同的指纹,则说明有问题,您应该小心。

但是如果你是第一次连接,没有指纹,ssh 会问你,这是否是正确的服务器。这称为首次使用信任或 TOFU。

SSH 旨在通过不安全的网络实现安全连接。不安全的网络通常是互联网,但也可能是 VPN。因此,通过您的 VPN 进行 ssh 连接与通过 Internet 进行连接一样安全。

将 ssh 服务器暴露在互联网上存在一些问题。对默认端口进行大量扫描,并自动尝试暴力破解登录凭据或利用旧的 ssh 版本。因此你应该

  • 使用非标准端口
  • 禁用root访问并使用普通用户登录,而不是chroot
  • 使用私钥而不是密码
  • 使用 fail2ban 或其他自动化工具来阻止攻击

推荐阅读