目录
现象
项目AWS平台的DR环境一共有四台ec2服务器实例,并且在创建时用的是同一对ssh密钥。
今发现web,application,database,dns 四台服务器中application和dns无法通过密钥远程登录,
ssh连接通过了握手显示状态established
来到验证用户密码这一步,
选择密钥并验证,
一直报错验证失败。
分析
经过多方排查,确定问题是出在密钥身上,所以将此案例当做密钥丢失的情况来处理。
解决思路,
将有登录故障的机器的根分区所在的磁盘卸载,
然后挂载到其他可以正常访问的机器上
利用可以正常访问的机器来读取并且覆盖掉旧磁盘上公钥的内容,
从而达到修复登录密钥的目的。
操作
1、卸载旧磁盘步骤如下:
1.1、关机
1.2、取消关联
1.3、点击卷ID后可以调到对应卷的管理页面
2、新机挂载旧磁盘步骤如下
2.1、关联
参考之前取消关联的操作
2.2、执行mount 命令
#注意!一定要带上“禁用UUID”,因为不用这个选项的话,原有的UUID和这块将要挂载的磁盘UUID会重复
mount -o nouuid /dev/mapper/newcentos-root /mnt
3、覆盖公钥步骤如下
3.1、进入挂载点
3.2、找到用户家目录下的.ssh
3.3、上传新的公钥
3.4、将公钥内容追加到authorized_keys文件中