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 平台查看底层监控是否正常
查看到底层硬件工作正常,并没有观察到异常报错。

通过查看业务服务,发现业务服务并没有收到影响。
那就说明,服务器是没有问题的,只是登录认证出了问题。既然服务没有问题,接下来就慢慢排查就,就不着急了。
接着,尝试用 aws 的 ssm (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的权限。
文章链接
AWS EC2 实例 SSH 无法登录故障的更多相关文章
- AWS EC2实例Linux系统创建root用户并更改为root用户登录
对于刚创建AWS EC2实例,或者经常使用AWS 实例的小伙伴们来说,刚创建的EC2实例是没有ROOT权限的,因此不能直接使用ROOT用户去登陆实例,也无法获取到root权限.一般情况下,EC2实例默 ...
- AWS探索及创建一个aws EC2实例
一.AWS登陆 1.百度搜索aws,或者浏览器输入:http://aws.amazon.com 2.输入账户及密码登陆(注册流程按照提示走即可) 二.创建EC2实例(相当于阿里云的ecs) 1.找到E ...
- AWS EC2实例Ubuntu系统设置root用户密码并使用root/ubuntu用户登录
参考链接:http://www.wangchao.info/1137.html 注意:链接中写的简化了,其中重启服务的命令似乎不太适用,可能是不通用,我下面描述的方式亲测可行,如有其他疑问请留言: ...
- AWS系列-AWS EC2实例类型改配(机器配置升级)
1.1 EC2实例升级需要先把升级的实例停机才能升级 1.2 如图选择需要升级的EC2,点击操作,实例设置,更改实例类型 1.3 选择你要想的配置,点击应用 1.4 启动EC2实例即可
- SecureCRT连接AWS EC2云主机密码登录
申请了亚马逊的EC2,要通过ssh 加密钥的形式登录,特别麻烦,而且感觉ssh登录AWS的云主机后好卡,这里是更改成用户名和密码的形式登录云主机,可以通过SecureCRT直接登录 1.首先通过ssh ...
- ssh远程登录故障解决方案
问题描述: xshell远程连接服务器连接不上,如下图所示: 故障排除: . 首先查看自己系统的防火墙是否关闭,没有关闭的话关闭一下. # centos 7中关闭防火墙命令: systemctl st ...
- 使用root用户登录到AWS EC2服务器,上传文件到/var/www目录
关键词 1.aws ec2中上传文件到/var/www目录(使用filezilla) 2.使用root用户登录aws ec2实例 上一篇随笔中记录了在aws ec2实例中部署apache服务器的过程, ...
- AWS EC2笔记
朋友想搭一个境外网站,找我帮忙,希望服务器.域名都在境外.我没有在境外建站的经历,只能先尝试.于是上网搜索了一下境外服务器,大家比较常用的是Digital Ocean和AWS,我索性打开这两家的官网, ...
- AWS EC2中部署Apache服务器(LAMP)
关键词: 1.新建aws ec2实例 2.使用putty连接到aws ec2 实例(SSH协议) 3.使用filezilla连接到aws ec2实例(SFTP协议) 4.在aws ec2上部署apac ...
随机推荐
- 构建前端第6篇之---内嵌css样式 <el-button style="width:100%"> 登录 </el-button>
张艳涛写于2021-1-20日 What: 如何让button的长度和input长度一致呢 最先想到的是给这个button加一个class ="buttonclass",然后在vu ...
- 17Java进阶——反射、进程、Java11新特性
1.Java反射机制 Java反射(Reflection)概念:在运行时动态获取类的信息以及动态调用对象方法的功能. 1.1反射的应用--通过全类名获取类对象及其方法 package two.refl ...
- 微信小程序对接显示阿里云数据库数据
现实需求 在项目中需求,有时候现场设备发生故障,需要远程的人员知道.除了邮件方式,以微信小程序的方式也很好.今天进行尝试,并制作了一个demo版本. 1.微信小程序申请制作前端 1.1lists文件( ...
- 通过jstack日志分析和问题排查
简介 jstack用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁.死循环 ...
- 百度nlp api接口测试
date:2021/7/8 使用postman测试 网址:https://ai.baidu.com/ 在百度AI首页-开放能力-自然语言处理-语言处理基础技术 点击技术文档 在左侧文档目录选择API参 ...
- python grequest模块使用备忘录
手里上有一批链接,需要检查他们是否已经被删除.本来是想用多线程的,但是考虑了下一个是实现起来稍繁琐.而且性能不理想,单机基本超过10线程基本上就没有太多增益了. 所以考虑了下,还是决定用异步IO. 在 ...
- Netty基础招式——ChannelHandler的最佳实践
本文是Netty系列第7篇 上一篇文章我们深入学习了Netty逻辑架构中的核心组件EventLoop和EventLoopGroup,掌握了Netty的线程模型,并且介绍了Netty4线程模型中的无锁串 ...
- Wireshark基础
Wireshark基础 wireshark简介: wireshark是一款用于追踪网络流量的辅助工具,帮助捕获.分析网络封包,并进行分析. 主要功能: 1.网络分析任务 查看网 ...
- RedisTemplate连接不释放、Redis断线不重连问题、Redis连接数高飙升
使用RedisTemplate操作Redis数据,但遇到网络断线后不会重新连接 毫无头绪 一顿捣鼓 最终解决 整理如下 帮助更多的人 1.起因 使用RedisTemplate 配置 开启了事务 ena ...
- [SQL]数据更新
插入数据 插入单个元组 一般格式: insert into <表名> [<列名1>, <列明2>, --] -- 指出在表中新插入的值的列, values(< ...