通过SSH无法远程登录Linux实例的排查指引:
以下操作在CentOS 6.5 64位操作系统中进行过测试,在其他Linux发行版中可能存在差异,具体情况请参阅对应Linux发行版的官方文档。
下图为SSH登录关联因素示意图。
由此可见,通过SSH无法远程登录Linux实例时,可能涉及的关联因素较多,本文分别对其进行介绍, 客户端客户端无法正常登录时,先使用不同的SSH客户端基于相同账户信息进行登录测试。如果能正常登录,则判断是客户端配置问题,需要对客户端配置或软件运行情况做排查分析。关于如何使用客户端SSH登录Linux实例,您可以参考远程连接Linux实例。
中间网络
客户端无法正常通过SSH连接Linux实例时,参考如下命令,进行端口测试,判断是否存在中间网络异常。 注: - [$IP]指Linux实例的IP地址。
- [$Port]指Linux实例的SSH端口号。
比如执行telnet 192.168.0.1 22命令,正常情况下,系统会返回服务端中SSH的软件版本号,类似如下图。
如果端口测试失败,参阅下列文档,对客户端到服务器之间的网络做进一步的排查分析。
PAM安全框架Linux系统的PAM安全框架可以加载相关安全模块,对云服务器的账户策略、登录策略等进行访问控制。如果相关配置存在异常,或触发了相关策略,就可能会导致SSH登录失败。常见案例如下。
Linux系统环境配置Linux内的系统环境,比如中毒、账户配置、环境变量配置等,如果出现异常,也可能会导致SSH登录失败。常见案例如下。
SSH服务及参数配置SSH服务的默认配置文件为/etc/ssh/sshd_config。配置文件中的相关参数配置异常,或启用了相关特性或策略,也可能会导致 SSH登录失败。常见案例如下。
SSH服务关联目录或文件配置SSH服务基于安全性考虑,在运行时,会对相关目录或文件的权限配置、属组等进行检查。过高或过低的权限配置,都可能会引发服务运行异常,进而导致客户端登录失败。常见案例如下。
SSH服务密钥配置SSH服务采用非对称加密技术,对所传输的数据进行加密。客户端及服务端会交换和校验相关密钥信息的有效性。常见案例如下。
如果根据前述问题场景进行排查和处理后,还是无法正常登录。则建议按照如下步骤逐一排查和分析。 - 使用不同的客户端SSH及管理终端做对比访问测试,判断是否是个别客户端自身配置或软件运行问题所致。
- 参阅中间网络问题相关说明,测试网络连通性。
- 参阅管理终端,登录云服务器,在客户端进行访问测试的同时,执行如下命令,查看相关日志。
|