• AWS EC2 实例 SSH 无法登录故障


    文章链接

    故障表现

    在使用 jumperver 登录 AWS ec2 实例的时候发现 ssh 配合秘钥登录的时候无法登录,
    具体报错如下:

    ssh -i /path/xx.pem user@10.0.11.190  
    Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
    

    问题排查过程

    在发现无法登录的第一时间等了AWS 平台查看底层监控是否正常
    查看到底层硬件工作正常,并没有观察到异常报错。
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    通过查看业务服务,发现业务服务并没有收到影响。
    那就说明,服务器是没有问题的,只是登录认证出了问题。既然服务没有问题,接下来就慢慢排查就,就不着急了。
    接着,尝试用 awsssm (Amazon Systems Manager)尝试登录,发现能够使用 ssm 登录。
    再次回到跳板机,运行 telnet 10.0.11.190 22 端口是通的。排除网络端口问题。
    查看 ssh 登录日志

    ssh -i /path/xx.pem user@10.0.11.190  -vvv
    

    查看 secure 日志

    tail -f /var/log/secure
    

    问题解决

    经过查看日志,总结如下:

    1

    当前是从跳板机,以ssh的方式连接到故障主机,但是在连接过程中遇到如下所示报错:

    Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
    

    从ssh -vvv的debug日志来看,ssh client端发送了认证请求,但是ssh server端并没有完成认证过程,导致permission denied报错产生。

    2

    故障主机配置了SSM agent,并且可以通过session manager打开。
    在这个基础上,在实例的/var/log/secure文件中看到如下报错内容:

    authentication refused: bad ownership or modes for directory /home/ec2-user/
    

    这个报错的意思是说,/home/ec2-user/ 目录的owner或者mode存在一些问题。
    经过查看,/home/ec2-user/ 目录配置的是777的权限,进而导致的认证失败。

    将其修改为700后,问题得到解决,可以ssh登录到故障主机。

    为什么会有777的权限呢?

    为何会将 /home/ec2-user/ 目录下所有内容修改为 777 呢?
    经过登录 Jumoserver 的审计发现,一名开发人员将 /home/ec2-user/ 权限改为了 777 原因是通过 Jumpserver 上传文件的时候没有权限,然后开发就自己将目录给了 777的权限。
    文章链接

  • 相关阅读:
    MonkeyScript_API
    APP性能(Monkey)【启动时间、CPU、流量、电量、内存、FPS、过度渲染】
    adb基本命令 & Monkey发生随机事件命令及参数说明
    MonkeyRunner_API
    2021春招冲刺-1218 页面置换算法 | sort的原理 | 语义化标签 | 标签的继承
    2021春招冲刺-1217 线程与进程 | ES6语法 | h5新增标签
    2021春招冲刺-1216 死锁 | 箭头函数 | 内联元素 | 页面渲染
    【unity】旧世开发日志
    HTTP 与HTTPS 简单理解
    GET POST 区分
  • 原文地址:https://www.cnblogs.com/xuewenlong/p/15175349.html
Copyright © 2020-2023  润新知