我在 Azure 中运行虚拟机,经常看到此错误:可以使用 fqdn 或公共 ip 访问虚拟机。当通过 ssh 连接到 fqdn 时,我可以登录(部分 fqdn 被故意混淆): 但是,使用同一个虚拟机的公共 IP,访问被拒绝:
我猜想这与用户帐户后添加的后缀有关,但我如何确保这种情况不会发生?当虚拟机关闭一段时间后获得新的 IP 地址时(基本上将我锁定在虚拟机之外),我也看到了同样的错误。如果相关的话,我通常运行 Ubuntu 14.04 虚拟机。
当我查看主机密钥时,它们对于两个连接是相同的,尽管我必须分别“批准”它们才能将两个实例添加到known_hosts。我在 Windows 上使用 putty 作为我的 ssh 客户端。
答案1
如果服务器有新的 IP 地址,Putty 将始终提示您批准密钥。如果 IP 地址不同,Putty 可以覆盖现有密钥,但在 ssh(ubuntu 终端)中,它通常会拒绝它,您必须删除旧条目才能使其再次工作。
正如 EEAA 在评论中提到的,ip 地址是服务器的主要“标识”,因此有时您可以使用 ip 进行连接,但不能使用 fqdn,这意味着 dns 解析问题,但如果反过来,我只能想到一个问题,即防火墙和/或端口转发,您应该检查