ECS远程问题排查实践
1. 创建资源
1、在体验实验室页面左侧,单击创建资源,创建所需资源,本实验在点击创建资源后会自动创建一个ECS。
2、在页面左侧导航栏中,单机云产品资源列表,查看本次实验资源相关信息。
说明:
资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:IP地址、用户名和密码等。
2. 了解实验架构
实验之前需要理解相关理论概念,然后了解整体的实验架构:
3. 实验步骤-第一步
1、测试登录SSH,查看登录不上的错误信息。
4. 实验步骤-第二步
2. 前面测试到端口22是不通的,根据链路Client à 安全组 à ECS SSH服务 我们需要一步步检查是否有异常
ECS详情页面查看安全组策略,22端口状态是放行的
5. 实验步骤-第三步
3.上面我们确认安全组规则是放行状态,那么问题可能出现在OS内部了,因为此时SSH是无法登录的,所以我们使用VNC 登录到主机内排查一下
6. 实验步骤-第四步
4.我们看下端口有没有监听,执行netstat –ntlp,可以看到ssh服务没有监听任何端口。
7. 实验步骤-第五步
5. 查看SSH服务状态,执行systemctl status sshd.service
8. 实验步骤-第六步
6.从上面可以看到SSH服务是没能正常启动的,我们可以看下系统日志有没有什么报错 less /var/log/messsages
9. 实验步骤-第七步
7. 日志可以看到/var/empty/sshd目录似乎是不存在的,我们手动创建一个,mkdir/var/empty/sshd 然后执行systemctl restart sshd 再次检查服务和端口执行systemctl status sshd && netstat –ntlp| grep ssh
10. 实验步骤-第八步
8.上一步我们将服务已经恢复运行了,接下来我们尝试再去ssh连接试下,发现仍然连接失败。
查看一下/var/log/secure日志,看下有没有报错信息。
11. 实验步骤-第九步
9.上一步这个错误基本上就只有两种可能,要么未允许root用户登录,要么是账户名密码错误。账户名密码我们能确认是正确的(可以手动执行passwdroot重置一下密码再试试 就可以确认了)。剩下的可以再检查一下/etc/ssh/sshd_config配置文件,确认root是否允许登录。cat/etc/ssh/sshd_config|grep PermitRoot 可以看到确实是没有允许root账号登录。
12. 实验步骤-第十步
10.修改上述配置后,再次重启SSH服务,恢复正常。vim/etc/ssh/sshd_config 编辑配置文件,将PermitRoot no 改为PermitRoot yes 然后重启ssh服务,systemctl restart sshd
13. 实验步骤-第十一步
11.再次尝试SSH连接,可以看到已经能够登录成功
实验地址:https://developer.aliyun.com/adc/scenario/7ae904759f534f83b76a0dce72f1411a