全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
云服务器 ECS

云服务器 ECS Linux SSH 无法远程登录问题排查指引

更新时间:2017-08-08 09:22:30

注意:本文相关配置及说明在 CentOS 6.5 64 bit 操作系统中进行测试,其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。

注意: SSH 客户端是云服务器 ECS Linux主要的运维途径。管理终端可以用于临时运维,或者在客户端登录出现异常时,用于问题排查分析。

常见的问题现象

下图为 SSH 登录关联因素示意图:

factors

客户端问题

客户端无法正常登录时,先使用不同的 SSH 客户端基于相同账户信息进行登录测试。如果能正常登录,则判断是客户端配置问题,需要对客户端配置或软件运行情况做排查分析。云服务器 ECS Linux 的登录过程说明,参阅登录实例

中间网络问题

客户端无法正常通过 SSH 连接云服务器时,通过 telnet <服务器 IP> <SSH 服务端口>,比如:telnet 192.168.0.1 22 进行 telnet 端口测试,判断是否是中间网络异常所致。正常情况下,会返回如下图所示的服务端 SSH 软件版本号:

results

如果端口测试失败,参阅下列文档对客户端到服务器之间的网络做进一步排查分析:

PAM 安全框架相关问题

Linux 系统的 PAM 安全框架,可以加载相关安全模块,对云服务器的账户策略、登录策略等进行访问控制。如果相关配置存在异常,或触发了相关策略,就可能会导致 SSH 登录失败。常见案例如下:

Linux 系统环境配置问题

Linux 内的系统环境(比如中毒、账户配置、环境变量配置等)如果出现异常,也可能会导致 SSH登录失败。见案例如下:

SSH 服务及参数配置问题

SSH 服务的默认配置文件为 /etc/ssh/sshd_config。配置文件中的相关参数配置异常,或启用了相关特性或策略,也可能会导致 SSH 登录失败。常见案例如下:

SSH 服务关联目录或文件配置问题

SSH 服务基于安全性考虑,在运行时,会对相关目录或文件的权限配置、属组等进行检查。过高或过低的权限配置,都可能会引发服务运行异常,进而导致客户端登录失败。常见案例如下:

SSH 服务密钥配置问题

SSH 服务采用非对称加密技术,对所传输的数据进行加密。客户端及服务端会交换和校验相关密钥信息的有效性。常见案例如下:

排查 SSH 无法登录问题步骤

如果根据前述问题场景进行排查和处理后,还是无法正常登录。则建议按照如下步骤进行逐一排查分析:

  1. 使用不同的 SSH 客户端及 管理终端 做对比访问测试,判断是否个别客户端自身配置或软件运行问题所致。

  2. 参阅中间网络问题相关说明测试网络连通性。

  3. 参阅管理终端登录云服务器,在客户端重新访问测试时执行命令 tailf /var/log/secure
  4. 执行命令 ssh -vvv <服务器 IP>,比如,ssh -vvv 192.168.0.1 获取 Linux 环境详细的 SSH 登录交互日志:
  5. 通过管理终端 登录云服务器,检查 SSH 服务运行状态:

    1. 执行下列命令检查服务运行状态,正常情况下会返回运行状态及相应进程 PID:

      1. [root@centos ~]# service sshd status
      2. openssh-daemon (pid 31350) is running...
      3. [root@centos ~]# service sshd restart
      4. Stopping sshd: [ OK ]
      5. Starting sshd: [ OK ]
    2. 执行下列命令检查服务监听状态,正常情况下会返回相应端口监听信息:

      1. netstat -ano | grep 0.0.0.0:22
      2. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN off (0.00/0/0)
    3. 通过 管理终端登录云服务器,然后 ssh 127.0.0.1。如果能正常登录,则推断是系统防火墙或外部安全组策略等配置异常,导致客户端登录失败。

如问题还未解决,请记录前述各步骤的测试结果,及相关日志信息或截图,提交工单联系阿里云。

本文导读目录