清除项目和 SSH 密钥元数据实例并运行 gcloud compute ssh(它将创建一个新的密钥对并更新项目元数据)后,我无法再通过 SSH 进行登录,除非收到“ssh:连接到主机。.*.133 端口 22:连接被拒绝”错误。
我浏览了所有涉及此问题的论坛,但还是找不到解决方案。我甚至无法通过云 shell 终端进行连接。
我所做的事情难道明显有什么错误吗?
答案1
您可以通过运行来检查实例是否对端口 22 上的连接开放sudo nmap -Pn -p 22 <instance IP>
。
如果实例中打开了端口 22,则应检查串行控制台输出中是否存在 sshd 错误。
如果没有错误,请尝试使用 测试与实例的连接telnet IP 22
。您应该会收到 SSH 提示。测试时,请尝试内部 IP 和外部 IP(如果有)。如果没有 SSH 提示,则表明该服务在其他实例中已关闭。您还可以尝试使用浏览器或串行控制台连接到其他虚拟机以验证服务状态。
答案2
通过启用串行端口连接,我能够解决连接被拒绝问题。请参阅此“软件思考”博客Nestor Urquiza 推断,连接到串行控制台会重新启动 ssh。他说
继续并激活串行端口访问:
gcloud compute instances add-metadata myvm \
--metadata=serial-port-enable=1