通过SSH的方式连接实例时,需确保实例中SSH服务处于启动状态,否则无法远程连接实例,本文为您介绍如何排查SSH服务的状态及如何启动SSH服务。
问题现象
对于Linux系统的ECS实例,使用SSH无法登录,使用VNC登录后,执行systemctl status sshd.service命令查看SSH服务(sshd.service)的状态。如果状态返回结果为inactive(dead),表示SSH服务未启动,这将导致无法使用SSH远程连接实例。
# systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2021-02-01 20:37:28 CST; 1s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 1034 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 1034 (code=exited, status=0/SUCCESS)
问题原因
SSH服务未启动有很多原因,例如sshd进程未设置开机自启动、sshd关键目录的owner属性或group属组设置错误、SSH服务配置文件异常、PATH环境变量配置异常、端口被占用等。
解决方案
-
使用VNC远程连接ECS实例。
具体操作,请参见通过VNC连接实例。
-
执行如下命令,查看SSH服务的状态。
systemctl status sshd.service返回结果为inactive(dead),表示
sshd.service进程未启动。 -
执行如下命令,启动SSH服务并设置SSH服务开机时自启动。
sudo systemctl start sshd.service sudo systemctl enable sshd.service如果启动中出现具体报错信息,您可以根据提示进行修复。常见SSH服务无法启动问题的解决方案如下:
该文章对您有帮助吗?