如何在 Google Compute Engine 上从 Debian 7 更新到 Debian 8

如何在 Google Compute Engine 上从 Debian 7 更新到 Debian 8

是否有特定的方法可以在 Google Compute Engine 上的机器上从 debian 7 更新到 debian 8?

虽然我可以使用 gcloud ssh 命令连接到机器,但更新后我无法使用浏览器上的 SSH 从控制台连接;我收到“无法连接,正在重试(1/3)...”错误。对于更新过程,我遵循 Debian 官方网站上的文档。

控制台日志上的错误是:instance-1 sshd[18651]: Connection closed by XX.XXX.XX.XX [preauth]

没有其他任何事情,我已经尝试重新启动机器。

因此,问题是: - 是否有针对将 debian 7 更新到 debian 8 的 Google Compute Engine 的具体文档? - 有人进行过更新、发现我的错误并解决了有关从浏览器 ssh 的问题吗?

谢谢

马可

答案1

首先,不建议就地升级操作系统。相反,你应该将应用程序部署到下一个版本的映像上。

此外,这个问题已经有一年了。Debian 7 Wheezy 不再受支持。

我能够在 Compute Engine 中将 Debian 7 升级到 Debian 8 Jessie。我只需在 /etc/apt/source.list 和 /etc/apt/source.list.d/* 中将“wheezy”替换为“jessie”,然后运行“apt-get dist-upgrade”。

有关从 7 升级到 8 的所有信息,请参阅 Debian Jessie 升级文档。https://www.debian.org/releases/jessie/amd64/release-notes/ch-upgrading.en.html

我尝试了两种方法:

  • 最新的标准 Debian 7 映像“debian-7-wheezy-v20160531”。它仍然可用,但已被弃用。

    看起来它有效。如果你在某个项目上尝试,请小心:该图像已有 1.5 年历史,尚未收到安全更新。

  • 构建的新图像https://github.com/andsens/bootstrap-vz/blob/master/manifests/official/gce/deprecated/wheezy-backports.yml

    它基本上可以正常工作,我注意到的是 /etc/hosts 文件缺少机器名称,主机名默认为“localhost”。我不确定为什么,但这仍然不会破坏 ssh。

关于sshd错误:

instance-1 sshd[18651]: Connection closed by XX.XXX.XX.XX [preauth]

这意味着 ssh 客户端在 SSH 预认证阶段关闭了连接。

这通常意味着 sshd 守护进程无法读取用户的 ~/.ssh/* 文件。此行上方的错误消息可能会带来更多信息,您也可以尝试在 ssh 命令中添加“-vv”。

如果问题仍然存在,我建议您按照故障排除指南中的“故障排除 SSH 错误”部分进行操作https://cloud.google.com/compute/docs/troubleshooting#ssherrors

相关内容