aws|ec2文件变更导致ssh无法连接的处理办法

时间:2024-05-21 15:19:02

因为误删etc目录下的文件导致ssh无法连接,连接即断开。最后综合了各方渠道,实现了在不转移数据的前提下解决该问题。本来一同事给的建议是重建一个主机,然后把原主机的硬盘备份并挂载上去,这样把数据拷贝出来,同时更改相关配置解析等等。当忙了一天到快下班的时候发现可能是具体的文件丢失引起的,于是就尝试找回误删的文件并恢复到原硬盘,然后测试OK。

所以具体的表现为服务器上的各个服务运行正常,网站正常访问,但就是ssh连接不上。初始推断为误删文件导致的。

操作步骤可以总结为一下:

1、停止正在运行的主机,并分离硬盘;

2、挂载硬盘到能够连接上的主机,并补充丢失的文件;

3、卸载硬盘并重新挂回原主机,启动主机,尝试连接;

有一点需要特别注意,就是在卸载硬盘的时候需要记一下硬盘的盘符,当挂载回去的时候需要对应盘符才能启动。截图如下:

aws|ec2文件变更导致ssh无法连接的处理办法

aws|ec2文件变更导致ssh无法连接的处理办法

aws|ec2文件变更导致ssh无法连接的处理办法

aws|ec2文件变更导致ssh无法连接的处理办法

aws|ec2文件变更导致ssh无法连接的处理办法

文字描述如下:

a、使用 lsblk 命令确定卷是否已分区。
lsblk
b、创建临时目录以装载卷
sudo mkdir /mnt/tempvol
c、使用之前确定的卷名称或设备名称在临时装载点装载卷 (或分区)。所需命令取决于操作系统的文件系统。

Amazon Linux、Ubuntu 和 Debian

[ec2-user ~]$ sudo mount /dev/xvdf1 /mnt/tempvol
Amazon Linux 2、CentOS、SLES 12 和 RHEL 7.x

[ec2-user ~]$ sudo mount -o nouuid /dev/xvdf1 /mnt/tempvol
sudo mount /dev/xvdf1 /mnt/tempvol
d、在临时实例中,卸载已附加的卷,以将其重新附加到原始实例。
sudo umount /mnt/tempvol