【发布时间】:2018-09-06 12:17:37
【问题描述】:
从快照还原磁盘后,我在访问我的一个虚拟机(此处称为 myvm1)时遇到问题。这是我昨天所做的(效果很好):
- 我制作了 disk1 的快照。
- 我使用上面创建的快照创建了一个名为 disk2 的新磁盘。
- 我通过 Google 控制台将磁盘附加到 myvm1。
- 我卸载了 disk1 并安装了 disk2。
- 我删除了disk1。
一切正常,disk2 上的数据库数据可以根据需要访问。该磁盘上没有其他内容。
今天,我想做的是将disk2“重命名”为disk1(以避免将来我们的Terraform设置出现问题)。我通过执行以下操作来做到这一点:
- 我制作了 disk2 的快照。
- 我使用上面的快照创建了一个新磁盘,称为 disk1。
- 我使用终端将磁盘附加到 myvm1:
gcloud compute --project=myproject instances attach-disk myvm1 --disk disk1
之后,当我尝试 ssh 进入 myvm1(卸载和挂载)时,我得到一个
ssh:连接到主机 myvm1 端口 22:连接被拒绝
我已尝试以下方法来解决/调查:
- 反复停止和启动 VM(比同一项目中的其他 VM 花费的时间要长得多)
- 分离 disk1(并重新连接它)
其他信息:
- 仍可通过 ssh 访问同一项目中的其他 VM。
- 我昨天或今天对 VM 没有做任何其他事情,除了上面写的内容。该系统从昨天到现在都没有使用过(为了省钱,它被关闭了一夜)。
- 使用 Google 控制台 SSH 不起作用,但它也不适用于其他 VM,因为我们使用私钥进行连接。
- “实例正在启动,sshd 尚未运行。” - 它被列为 RUNNING。
- “实例未运行 sshd。”我没有手动禁用 sshd。
- “sshd 正在侦听您正在连接的端口以外的端口。”我没有对端口进行任何更改。
- “没有防火墙规则允许在端口上进行 SSH 访问。”此外,在“防火墙规则和路由详细信息”下启用了端口 22。此外,防火墙规则与同一项目中的其他虚拟机相同。
- “允许 SSH 访问的防火墙规则已启用,但未配置为允许来自 GCP Console 服务的连接。”我们不希望能够通过 GCP Console 进行连接,所以这没关系。
- “实例已关闭。” - 它正在运行。
ssh 调用的调试信息:
我@mycomputer:~/project$ ssh myvm1 -vvv OpenSSH_7.2p2 Ubuntu-4ubuntu2.4,OpenSSL 1.0.2g 2016 年 3 月 1 日 debug1:读取配置数据 /home/me/.ssh/config debug1:读取配置数据 /etc/ssh/ssh_config debug1:/etc/ssh/ssh_config 第 19 行:为 * 应用选项 debug2:解析“myvm1”端口 22 调试2:ssh_connect_direct:需要priv 0 debug1:连接到 myvm1 [10.23.0.3] 端口 22。 debug1:连接到地址 10.23.0.3 端口 22:连接被拒绝 ssh:连接到主机 myvm1 端口 22:连接被拒绝我看过这里提到的解决方案 Why Google Cloud Compute Engine instance gives ssh connection refused after restart? 但由于我还没有安装/卸载任何磁盘,所以我看不出这可能是同一个问题。
非常感谢您能给我的任何帮助。涉及创建新实例的解决方案不相关,因为我想知道首先出了什么问题,这样就不会在生产环境中发生这种情况。幸好 myvm1 只是一个沙盒系统。
【问题讨论】:
标签: ssh google-cloud-platform google-compute-engine snapshot