今天重启了一台Vultr的服务器,然后就连不上了,而且也ping不通。Vultr的端口被墙我多少知道一点,没想到一台正常的服务器重启之后也会遇到这个问题。

首先,我登录到Vultr的管理后台,尝试通过 View Console 登录到服务器,无奈也登录不上,报 Login Incorrect的错误。接着,我尝试将当前服务器快照,试图通过镜像创建新的服务器来解决问题,没想到重新创建了几台服务器都ping不通。 无奈,只好使用Finnix把这台服务器上的数据备份到其他服务器上 。

运行Finnix

在Vultr的服务器中,找到Settings -> Custom ISO,选择 Finnix -111 x86,可以输入Finnix搜索到。

Ssh连不上Vultr服务器如何恢复数据-程序旅途

点击 “Attach ISO and Reboot”,会有一个提示 Attaching ISO to machine...

然后选择下图红色框中的图标

Ssh连不上Vultr服务器如何恢复数据-程序旅途

打开控制台

Ssh连不上Vultr服务器如何恢复数据-程序旅途

选择 Boot Finnix (64-bit),按回车进入 Finnix。如果打开不是如上图所示,可以点击右上角 Send CtrlAltDel 重启。

Ssh连不上Vultr服务器如何恢复数据-程序旅途

接下来需要做两件事,第一是挂载磁盘,第二开启ssh。

挂载硬盘

通过 fdisk -l 命令可以查看可用的磁盘

Ssh连不上Vultr服务器如何恢复数据-程序旅途

如上图,我们的磁盘为 /dev/vda1,使用下面的命令挂在到 /mnt 目录下

mount /dev/vda1 /mnt

这样就可以 cd /mnt 进入我们的磁盘

开启SSH

这一步其实不是必须的,我们可以在Finnix中直接使用scp命令将文件传输到其他远程服务器,如下面的命令是将本地的a.tar.gz传送到45.76.233.21服务器的root目录下

scp a.tar.gz root@45.76.233.21:/root/a.tar.gz

开启SSH的目的是为了其他服务器连接到当前服务器。分别执行下面的命令,可以开启SSH

passwd
service ssh start

这样在客户端就可以通过ssh连到服务器了,下图是登录成功的提示

Ssh连不上Vultr服务器如何恢复数据-程序旅途

通过 cd /mnt,可以切换到我们的磁盘

最后需要注意的时,ssh登录时会有以下错误

Ssh连不上Vultr服务器如何恢复数据-程序旅途

解决办法就是找到known_hosts文件,将当前登录的服务器IP对应的记录删除即可。

参考文章

https://www.vultr.com/docs/using-finnix-rescue-cd-to-rescue-repair-or-backup-your-linux-system