之后我无法ssh
进入 Oracle Cloud Ubuntu 20.04 实例do-release-upgrade
。它正在顺利升级,但随后提示重新启动,重新启动后,我无法通过访问服务器ssh
。
我注意到我可以通过 oracle Cloud Console 访问它,但随后它会提示输入用户名和密码。用户名是 Ubuntu,但密码尚未设置,因为使用 putty 密钥访问 ssh。
我正在升级云服务器上的 Ubuntu 版本。我期望它允许我通过 ssh 连接到我的服务器,因为我通常在升级完成后通过 ssh 连接到它。
我尝试过使用 ChatGPT 来协助不同的选项,包括这种为“ubuntu”用户重置密码的方法。
ChatGPT 建议:
重启实例。在重启过程中,按住Shift键以访问 GRUB 菜单。
在 GRUB 菜单中,选择
Advanced options for Ubuntu
。选择以 结尾的选项(recovery mode)
。出现提示时,选择进入 root shell。
根文件系统最初以只读模式挂载。以读/写模式重新挂载它:
mount -o remount,rw /
输入以下命令来更改用户密码
ubuntu
:passwd ubuntu
按照屏幕上的说明设置新密码。
重新启动系统:
reboot
返回控制台窗口,输入用户名“ubuntu”,使用你设置的新密码登录。
但我仍然无法更改通过 Oracle Cloud Console 登录的密码,也无法通过 ssh 访问服务器。
答案1
无法连接到服务器的原因:
正如@Organic Marble 在评论中所说,您无法ssh
访问服务器的原因是do-release-upgrade
覆盖了您的 sshd 配置。您必须使用云控制台访问您的服务器并重新配置sshd
。
如果您想了解发生这种情况的原因,请检查以下内容:发布升级时是否需要替换定制的配置文件?
如何进入 GRUB 菜单:
我之前也遇到过类似的问题。不同之处在于您使用的是 Oracle Cloud Console,而我使用的是 Proxmox Console。大多数控制台都类似,所以差别应该不大。
ChatGPT 的建议与您需要执行的操作非常接近。不同之处在于,您需要在控制台中在Esc服务器启动/重新启动时按下。尝试按几次。
进入GRUB
菜单后,您可以更改密码、设置 sshd 并执行任何您想做的事情。请不要盲目遵循 ChatGPT 的建议,您的系统可能已安装为读/写。