我正在升级旧的 16.04 LTS,但似乎把自己锁在了外面,无法返回。救命啊。
我遵循了基本步骤:
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade
sudo do-release-upgrade
在发布升级期间,一切都很顺利。没有错误消息,什么都没有——是重启让我无法访问系统。它在端口 1022 上启动的辅助 SSH 进程也完全超时了。
现在的问题是,我无法尝试以 root@ip 身份连接,因为该连接已断开。只有使用 SSH 密钥才可以连接。
这是从 SSH 进行的调试:
:~$ ssh -vvvvvvvvv atlas
OpenSSH_7.6p1 Ubuntu-4ubuntu0.5, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/name/.ssh/config
debug1: /home/name/.ssh/config line 1: Applying options for atlas
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "(ip)" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to (ip) [(ip)] port 22.
debug1: Connection established.
debug1: identity file /home/name/.ssh/atlas_a type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/name/.ssh/atlas_a-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
debug1: match: OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to (ip):22 as 'name'
debug3: hostkeys_foreach: reading file "/home/name/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /home/name/.ssh/known_hosts:2
debug3: load_hostkeys: loaded 1 keys from (ip)
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
Connection closed by (ip) port 22
(我删除了名称和 IP)
发生了什么事?为什么我无法连接?我是不是彻底搞砸了一切,还是有机会以某种方式恢复?这是一个虚拟服务器,我无法物理访问它,远程重启现在似乎也失败了。
帮助 :)
编辑:由于看起来我无法挽救这个问题,所以我会更具体一点:我到底做错了什么?我可以做些什么来防止这种情况发生?SSH 调试没有给我任何关于问题实际原因的反馈,并且为此特定情况打开的“保留”端口 (1022) 根本不起作用。
如果我不得不失去整个服务器,至少我愿意从中吸取教训 - 但它似乎“不起作用”,就是这样?
编辑2:令人惊讶的是,我设法在主机提供的“修复”模式下再次访问服务器。现在我该怎么做才能保证可以访问并修复此问题?(我可以通过 VI 访问所有文件,它们位于 /repair/ 文件夹中)