问题现象
使用SSH或Workbench无法连接ECS实例,通过实例健康诊断显示:该实例sshd进程当前正在监听的地址和端口与配置的地址和端口不一致,可能导致SSH连接预期的地址和端口时失败。
可能原因
sshd进程当前正在监听的地址和端口不在sshd的配置文件/etc/ssh/sshd_config
中,导致无法连接ECS实例。
解决方案
您可以参考以下步骤,根据实际需要修改SSH服务监听配置的地址和端口来解决上述问题。
- 使用VNC远程连接ECS实例。具体操作,请参见连接方式概述。说明 通过SSH无法登录ECS实例时,只能通过VNC登录实例进行操作。
- 查看
sshd_config
配置文件中端口号与sshd进程实际占用端口号是否一致。如果不一致,请继续执行步骤3修改
sshd_config
配置文件。 - 查看
sshd_config
配置的端口号:sshd -T
如下图示例,sshd_config
配置文件中端口号为23。 - 查看sshd进程实际占用端口号:
netstat -ntlp |grep sshd
说明 如以上命令无法运行,请执行ss -tlnp | grep sshd
。如下图示例,配置文件中sshd进程实际占用端口号为22,与sshd_config
配置文件中端口号23不同,则需要执行步骤3修改sshd_config
配置文件。 - 修改
sshd_config
配置文件。 - 打开
sshd_config
配置文件。vim /etc/ssh/sshd_config
- 按i键进入编辑模式。
- 根据业务需要,修改
sshd_config
配置文件中的端口号。sshd_config
配置文件中端口号应与sshd进程实际占用端口号相同,本文示例中,需删除Port 23
。 - 修改完成后按Esc键,输入:wq后按Enter键,保存并退出。
- 重启sshd服务。
systemctl restart sshd