有没有一种特殊的方法可以在 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]
仅此而已,我已经尝试重新启动机器。
因此,问题是: - 是否有 Google Compute Engine 用于将 debian 7 更新到 debian 8 的特定文档?- 有没有人进行更新,得到我的错误并从浏览器解决有关 ssh 的问题?
谢谢
马可
首先,不建议就地升级操作系统。相反,您应该将应用程序部署在下一个版本的映像上。
另外,这个问题现在已经一岁了。不再支持 Debian 7 Wheezy。
我能够在 Compute Engine 中将 Debian 7 升级到 Debian 8 Jessie。我刚刚在 /etc/apt/source.list 和 /etc/apt/source.list.d/* 中用“jessie”替换了“wheezy”,然后运行了“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 错误:
这意味着 ssh 客户端在 SSH 预认证阶段关闭了连接。
这通常意味着 sshd 守护进程无法读取用户的 ~/.ssh/* 文件。此行上方的错误消息可能会带来更多信息,您也可以尝试在 ssh 命令中添加“-vv”。
如果您仍有问题,建议您按照故障排除指南https://cloud.google.com/compute/docs/troubleshooting#ssherrors中的“排除 SSH 错误”部分进行操作。