标签:登录 AWS ec2 SSH 报错 user home ssh EC2
故障表现
在使用 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,报错,user,home,ssh,EC2 来源: https://www.cnblogs.com/xuewenlong/p/15175349.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。