因端口配置错误导致使用SSH或Workbench无法连接ECS实例怎么办?
更新时间:
复制 MD 格式
问题现象
使用SSH或Workbench无法连接ECS实例,通过实例健康诊断显示:该实例sshd进程当前正在监听的地址和端口与配置的地址和端口不一致,可能导致SSH连接预期的地址和端口时失败。
可能原因
sshd进程当前正在监听的地址和端口不在sshd的配置文件/etc/ssh/sshd_config中,导致无法连接ECS实例。
解决方案
您可以参考以下步骤,根据实际需要修改SSH服务监听配置的地址和端口来解决上述问题。
- 使用VNC远程连接ECS实例。
具体操作,请参见选择ECS远程连接方式。说明 通过SSH无法登录ECS实例时,只能通过VNC登录实例进行操作。
- 查看
sshd_config配置文件中端口号与sshd进程实际占用端口号是否一致。如果不一致,请继续执行步骤3修改
sshd_config配置文件。- 查看
sshd_config配置的端口号:sshd -T如以下示例,sshd_config配置文件中端口号为23。[xxx@iZbpxxx ~]# sshd -T port 23 addressfamily inet listenaddress 0.0.0.0:23 usepam yes logingracetime 120 x11displayoffset 10 x11maxdisplays 1000 maxauthtries 6 maxsessions 10 clientaliveinterval 0 clientalivecountmax 3 streamlocalbindmask 0177 permitrootlogin yes ignorerhosts yes ignoreuserknownhosts no - 查看sshd进程实际占用端口号:
netstat -ntlp |grep sshd说明 如以上命令无法运行,请执行ss -tlnp | grep sshd。如以下示例,配置文件中sshd进程实际占用端口号为22,与sshd_config配置文件中端口号23不同,则需要执行步骤3修改sshd_config配置文件。[root@rhel8xxx ]# netstat -ntlp |grep sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5091/sshd tcp6 0 0 :::22 :::* LISTEN 5091/sshd
- 查看
- 修改
sshd_config配置文件。- 打开
sshd_config配置文件。vim /etc/ssh/sshd_config - 按i键进入编辑模式。
- 根据业务需要,修改
sshd_config配置文件中的端口号。sshd_config配置文件中端口号应与sshd进程实际占用端口号相同,本文示例中,需删除Port 23。#Port 22 Port 23 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key - 修改完成后按Esc键,输入:wq后按Enter键,保存并退出。
- 打开
- 重启sshd服务。
systemctl restart sshd
该文章对您有帮助吗?