关于AWS-EC2-Linux基于AMI还原实例后不能通过口令密码ssh登录的解决方法
Posted on 2021-05-22 18:58 520_1351 阅读(310) 评论(0) 编辑 收藏 举报最近笔者在工作中,通过备份的AMI,还原创建实例后,发现不能使用密码口令登录,登录时会报如下错误:
[root@localhost ~]# ssh qq_5201351@13.250.125.37 Warning: Permanently added '13.250.125.37' (RSA) to the list of known hosts. Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
但回忆之前创建AMI时,使用的那台EC2实例是可以口令登录的啊,那应该是sshd的配置文件发现了变化
经常反复实验,笔者得到如下几点结论
1、在创建AMI时,卷的数据是不会变化的(因此sshd配置文件,在此阶段没有发现变化)
2、但AWS上对于linux系统的AMI还原时,默认会将 /etc/ssh/sshd_config配置文件中的PasswordAuthentication指令的值修改为no
另:笔者测试通过外部的AMI还原时,不会作此修改动作,应该可能仅对AWS提供的linux系统AMI会有此修改动作
+++++ 因此要解决此问题的方法,有如下两种
方法一:需要借助于其他EC2实例,还得同一个可用区的
(1)先卸载根卷,
(2)挂载到其他ec2实例上,将问题主机根卷的sshd_config配置文件中的PasswordAuthentication指令的值修改为yes
(3)最后再挂载回原主机即可
方法二(推荐):在使用备份的AMI还原创建实例时,在配置实例阶段下的,用户数据User data处添加修改指令,如下:
#!/bin/bash # sed -i '1i PasswordAuthentication yes' /etc/ssh/sshd_config systemctl restart sshd
注:sshd_config配置文件,同样的指令,以最之前的为准,因为需要将允许密码口令登录的指令选项,添加到最前面是最有效的
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/14799518.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!