我在这里急需帮助。我有一个托管很多网站的计算引擎实例。这些是我采取的步骤:
转到计算引擎>快照并拍摄我的实例的快照
单击新创建的快照,然后单击“创建实例”。
新实例具有当前运行实例的所有配置
然后,当我尝试通过SSH访问新实例时,它无法正常工作。错误讯息:
"连接失败 我们无法通过端口22连接到VM。了解有关此问题可能原因的详细信息。"
点击了解详情,可以转到https://cloud.google.com/compute/docs/ssh-in-browser#ssherror
实例正在启动且sshd尚未运行 - 不确定如何检查
实例未运行sshd - 不确定如何检查
sshd正在侦听您正在连接的端口以外的端口 - 我当前的实例是在端口22上运行ssh所以我猜这很好吗?
没有允许在端口上进行SSH访问的防火墙规则 - 同样,我当前的实例正在运行ssh,所以我不认为它是因为防火墙,对吧?
启用了允许SSH访问的防火墙规则,但未配置为允许来自GCP控制台服务的连接。 - 与上述相同
实例已关闭 - 实例仍在运行。
奇怪的是,如果我从头开始创建一个新实例,然后执行上面的步骤来克隆到新实例,那么可以通过SSH正常访问新实例。
有人可以告诉我如何解决这个问题吗?或者告诉我如何查看日志,检查出了什么问题等等,因为我试图谷歌但很困惑所有的术语或在哪里找到特定的东西。抱歉,文字墙。感谢
**
**:我得到了Google的技术支持。下面的步骤可能会帮助其他人,但不是我,因为当我到达第7步时,我等待着永远无法进入登录页面。
1。)转到VM实例页面,然后单击VM的实例名称。
2。)单击页面顶部的“编辑”按钮。
3.在“自定义元数据”下,单击“添加项目”。
4。)设置'键'启动脚本'并设置'价值'到这个脚本:
#! /bin/bash
useradd -G sudo USERNAME
echo 'USERNAME:PASSWORD' | chpasswd
注意:将USERNAME和PASSWORD的值更改为您选择的名称和密码。
5.)启用"启用连接到串口"选中SSH按钮下面的框。
6。)单击“保存”,然后单击页面顶部的“重置”。等待实例重启一段时间。
7。)点击'连接到串口'在页面中。在新窗口中,您可能需要稍等一会然后按Enter键一次;然后,您应该看到登录提示。
8。)使用您提供的USERNAME和PASSWORD登录。
注意:请不要为了数据安全而共享任何密码和用户名。
由于上述步骤无法帮助我,Google支持代表查看了日志,但没有看到任何错误,她建议按照本指南调试SSH https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-ssh#use_your_disk_on_a_new_instance我会做当我有时间。感觉就像是在写一篇文章。将保持发布
答案 0 :(得分:0)
您可以遵循的问题排查步骤如下:
如果实例不影响生产并尝试再次获取ssh访问权限,则可以尝试重新启动实例。可能是某些问题阻止了实例正常启动并重新启动它可以解决它。
如果未正确创建上一个实例,您可以尝试从快照创建另一个VM实例。
Understanding snapshot best practices
,然后尝试从中创建另一个快照和VM实例。答案 1 :(得分:0)
我遇到了同样的问题,经过大量搜索,我发现ServerFault的用户Peripheral给出了答案,
我找到了解决方案。最近的更新存在一个已知问题,它会从iptables中删除默认网关。要修复它,我必须转到实例并选择“编辑”。向下滚动,然后在“自定义元数据”下输入以下内容:
key: startup-script value: route add default gw <gatewayIP> eth0
保存并重新启动VM。
他/她的全部功劳,只是想分享以帮助他人更快地找到他们的解决方案。
答案 2 :(得分:0)
我有同样的问题。我最终发现这是因为我附加了一个永久磁盘,从而在/ etc / fstab文件中添加了一个条目。重新启动实例后,该条目应该会自动安装连接的磁盘。
但是,当我创建启动磁盘的快照时,没有删除/ etc / fstab条目。因此,从该快照创建新实例将始终会导致启动错误,因为脚本会尝试挂载未连接的磁盘。 此信息显示在documentation
中