购买云服务器 ECS(后续简称 ECS)Linux 服务器后,首先面临的就是如何登录和使用的问题。而由于服务器在云端,所以日常运维中通常都会基于 SSH 客户端登录服务器进行相关操作。今天,我们就从登录 ECS 的不同方法和使用场景讲起,捋清 SSH 无法远程登录问题的常见原因与排查思路。
ECS Linux 不同登录方式示意图
如上图所示,当前 ECS Linux 支持 3 种不同的登录方式,其操作说明与使用场景如下:
1.管理终端(远程连接)
如前所述,SSH 客户端是 ECS Linux 服务器的主要的运维途径。而网络、服务器配置、SSH 服务配置等多种因素均可能会导致 SSH 连接或登录过程出现异常。接下来会先介绍影响 SSH 连接或登录的常见因素,然后说明此类问题的分析处理思路。
SSH 连接登录相关因素示意图
如上图所示,多种因素均可能会导致客户端通过 SSH 连接或登录服务器出现异常,包括但不限于:
SSH 无法远程登录问题处理思路示意图
如果 SSH 无法正常连接或登录,可以参阅上图,通过如下步骤逐一进行排查分析:
通过如下方法做对比分析,以判断是否是客户端软件、软件配置或客户端网络存在异常,导致无法正常 SSH 连接或登录服务器:
通过如下方法对中间网络做判断和对比分析,以判断是否是中间网络引发的异常:
通过如下方法,对 SSH 连接相关安全因素进行排查分析:
通过如下方法,检查 SSH 服务自身运行状态:
通过如下指令检查 SSH 服务运行状态。如果服务运行正常,则会返回运行状态及相应进程 PID:
[root@centos ~]# service sshd status openssh-daemon (pid 31350) is running… [root@centos ~]# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
通过如下指令检查 SSH 服务的端口监听状态。正常情况下会返回相应端口监听信息:
netstat -ano | grep 0.0.0.0:22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN off (0.00/0/0)
用法: ssh -p <SSH 端口号,如果是默认的 22,则无需输入> 127.0.0.1 比如:
ssh 127.0.0.1 ssh -p 2022 127.0.0.1
如果上述登录测试正常,则说明 SSH 服务本身运行与监听是正常的。则通过后续步骤做进一步排查分析。
如果确认 SSH 服务及外部网络链路正常,则可以通过如下方法,进一步检查 SSH 登录具体错误信息,然后结合历史案例做相应分析和处理:
配置实时查看 SSH 服务端安全日志:
通过管理终端进入服务器。通过类似如下指令实时查看 SSH 服务端安全日志:
CentOS 服务器:tailf /var/log/secure Ubuntu 服务器:tailf /var/log/auth
开启客户端 SSH debug 模式,获取客户端详细登录日志:
如果客户端是 Linux 环境,则可以通过如下指令,获取详细的 SSH 登录交互日志:
ssh -vvv <服务器 IP>
比如:
[root@centos~]# ssh -vvv 192.168.0.1 OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to 192.168.0.1 [192.168.0.1] port 22. debug1: connect to address 192.168.0.1 port 22: Connection timed out ssh: connect to host 192.168.0.1 port 22: Connection timed out ...
参阅 历史案例,结合前述步骤获取的 SSH 客户端及服务端的日志进行对比分析和处理。
可以参阅如下文档,了解 SSH 服务连接登录的相关原理,以便知其然知其所以然,更好的支撑此类问题的排查分析:
©2024 aliyunhn.com. All Rights Reserved 中科九洲科技股份有限公司-阿里云河南授权服务中心 豫B2-20080032-14 统计