我正要上传一些内容并重新启动虚拟机上的一些应用程序,我进入了传输 SSH 密钥的阶段,之后,我收到以下错误:连接Failed: You cannot connect to the VM instance because of an unexpected error. Wait a few moments and then try again.
当我单击“疑难解答”时,虚拟机状态为正常 < 用户权限正常,但网络状态正在不停地加载。
我在另一个项目上的其他 VM 实例正在运行。我没有更改 VM 或项目配置中的任何内容。我有规则default-allow-ssh
。我这边有问题吗?还是我应该等待 Google 解决?
VM 上的 Web 应用程序运行良好/我只是无法访问 SSH。
上周我不小心删除了我的用户文件夹,然后我重新创建了它并赋予它所有权限。那件事可能和这个问题有关系吗?
答案1
使用 SSH故障排除工具可帮助确定 SSH 连接失败的原因。故障排除工具会执行以下测试来检查失败的原因SSH连接:
用户权限测试:检查您是否具有使用 SSH 连接到虚拟机所需的 IAM 权限。
网络连接测试:检查虚拟机是否连接到网络。虚拟机实例状态测试:检查虚拟机的 CPU 状态以查看虚拟机是否正在运行。VPC 设置测试:检查默认 SSH 端口。
检查网络连接: 交互式串行控制台不支持基于 IP 的访问限制(例如 IP 允许列表)。如果您在实例上启用交互式串行控制台,客户端可以尝试从任何 IP 地址连接到该实例。
如果知道正确的 SSH 密钥、用户名、项目 ID、区域和实例名称,任何人都可以连接到该实例。使用防火墙控制网络访问的规则以及特定端口。
您的网络必须满足以下要求:
HTTPS 代理和安全设备不得使用自己的 TLS 证书解密和重新加密流量,例如执行 TLS 检查。
网络必须允许往返于以 google.com、gstatic.com 或 googleapis.com 结尾的主机名的流量。网络必须允许将数据包发送到默认域的 IP 地址。
另外,请确保不要删除任何用户文件夹,因为重新创建时我们可能无法获得之前使用的所有配置。
答案2
您能从客户端设备远程登录 22 端口吗?
telnet x.x.x.x 22
您是否可以通过 GCP 控制台访问您的 VM?
如果是的话,您可以尝试检查日志吗?它应该位于 /var/log 中的某个位置。
您可以从 VM 访问互联网吗?
谷歌计算实例可能发生了一些变化?(动态 IP、维护、网络规则……?)
如果谷歌检测到网络问题,那可能是它。