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 ...
随机推荐
- 如何生成effective-pom
effective-pom是什么?我们知道任何一个项目的pom都至少继承了maven内置的超级pom,有些项目中的用户还会配置自己的继承层次,也就是说,但从当前的pom是无法全面了解项目信息的,你必须 ...
- div 模拟alert弹出框
--------------信息展示弹出框---------------- <style> .over{background-color: rgba(0, 0, 0, 0.7);displ ...
- anyRTC视频连麦demo上线啦!
音频连麦demo一经问世就得到开发者的一致好评,有很多开发者咨询视频连麦的demo该怎么去实现,本着让"视频交付更简单"的理念,我们推出了视频连麦demo! 音视频技术不仅局限用于 ...
- CVPR2021 | Transformer用于End-to-End视频实例分割
论文:End-to-End Video Instance Segmentation with Transformers 获取:在CV技术指南后台回复关键字"0005"获取该论文 ...
- H5页面自动烟花特效
代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> ...
- Sql Server备份表,动态生成表名称
1.常用的数据库备份表语句 SELECT * INTO tableNameNew FROM tableName 2.动态备份表,且备份表名称后面增加三位随机字符和当前日期 1 DECLARE @bak ...
- Python - 函数实战
前言 参考的是慕课网提供的实战,自己编码 http://www.imooc.com/wiki/pythonlesson1/function2.html 什么是模块化程序设计 在进行程序设计时将一个大程 ...
- SQL语句(四)联表查询
目录 一.关联查询的分类 按年代分 按功能分 二.sql92语法的连接 语法 1. 简单应用 2. 为表起别名 3. 加入筛选 4. 加入分组 5. 三表连接 6. 非等值连接 7. 自连接 三.sq ...
- java 注释,关键字和标识符
注释 注释是为了防止当写代码的时间过久了之后,忘记了这行代码的意思或者是在一个大型的项目里面,不可能每一个模块的功能你都记得,所以需要一个注释来帮助记忆. 注释不会被执行 平时写代码一定要养成写注释的 ...
- Docker部署Zookeeper部署集群实践(2)
注:本文使用docker for windows模拟构建zookeeper集群,在linux系统下,可使用同样的docker命令构建 参考url:https://github.com/31z4/zoo ...