针对SSH连接拒绝问题的专项排查与解决教程,按优先级分步骤整理,rak部落小编为您整理发布RAKsmart服务器连接问题排查教程:SSH连接拒绝的专项解决。
一、SSH服务端配置检查
- 检查SSH服务状态bash复制下载systemctl status sshd # 确认服务是否运行 systemctl restart sshd # 重启服务(配置修改后必执行)
- 关键配置参数
编辑/etc/ssh/sshd_config
,检查以下配置:bash复制下载PermitRootLogin yes/prohibit-password/no # 若为no则禁止root登录 AllowUsers user1 user2 # 仅允许特定用户登录 Port 22 # 确认端口号(如修改需同步防火墙)- 修改后执行
systemctl restart sshd
。
- 修改后执行
- 防火墙规则同步
- iptables:bash复制下载iptables -L -n | grep <SSH端口> # 检查规则是否存在 iptables -A INPUT -p tcp –dport <端口> -j ACCEPT service iptables save
- firewalld:bash复制下载firewall-cmd –list-ports | grep <端口> firewall-cmd –permanent –add-port=<端口>/tcp firewall-cmd –reload
二、密钥认证与权限问题
- 目录与文件权限bash复制下载chmod 700 ~/.ssh # 用户.ssh目录权限 chmod 600 ~/.ssh/authorized_keys # 公钥文件权限
- 权限错误会导致SSH直接拒绝连接。
- 公钥格式验证
- 检查
authorized_keys
文件内容,确保每行一个密钥且无多余字符。 - 使用命令修复格式:bash复制下载ssh-keygen -lf authorized_keys # 验证密钥指纹
- 检查
三、安全防护拦截(Fail2ban/DDoS)
- 检查IP封禁状态bash复制下载fail2ban-client status sshd # 查看被封禁的IP fail2ban-client set sshd unbanip
# 临时解禁IP - 若频繁误封,调整
/etc/fail2ban/jail.conf
中的maxretry
和bantime
。
- 若频繁误封,调整
- 云平台安全组/防火墙
- 登录服务器提供商控制台(如RAKsmart),检查安全组是否放行SSH端口。
- 关闭临时DDoS防护策略(谨慎操作)。
四、网络与系统层排查
- 端口连通性测试bash复制下载telnet <服务器IP> <SSH端口> # 若不通,可能是网络或防火墙拦截 nc -zv <服务器IP> <SSH端口> # 替代方案
- SELinux干预bash复制下载getenforce # 查看SELinux状态 setenforce 0 # 临时关闭(测试用)
- 若问题解决,需调整SELinux策略或禁用。
五、日志分析(关键!)
- 实时跟踪SSH日志bash复制下载tail -f /var/log/auth.log # Debian/Ubuntu tail -f /var/log/secure # CentOS/RedHat
- 关注日志中的
refused connect
、authentication error
或banned IP
关键字。
- 关注日志中的
六、终极解决方案
若以上步骤无效,尝试:
- 使用VNC/控制台直连服务器,避免依赖SSH。
- 重置SSH配置:bash复制下载mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak dpkg-reconfigure openssh-server # Debian yum reinstall openssh-server # CentOS
- 联系服务器提供商检查硬件防火墙或底层网络问题。
注意:操作前备份配置!完成每一步后立即测试SSH连接,以快速定位问题。
rak部落小编温馨提示:以上是小编为您整理发布的RAKsmart服务器连接问题排查教程:SSH连接拒绝的专项解决。更多知识分享可持续关注我们,raksmart机房更有多款云产品免费体验,助您开启全球上云之旅。