SecureCRT连接Linux常见问题与排查步骤
一、快速定位思路
| 报错关键词 | 优先检查 | 快速验证 |
|---|---|---|
| Connection timed out | 网络连通性、服务器是否监听22端口 | ping 目标IP;从服务器本地 `ss -tnlp |
| Connection refused | SSH服务是否运行、端口是否正确、防火墙/安全组 | systemctl status sshd;`ss -tnlp |
| Authentication failed | 用户名/密码/密钥、PAM/登录限制 | 用正确凭据重试;tail -f /var/log/secure 或 /var/log/auth.log 观察 |
| Software caused connection abort | 网络质量、中间NAT/防火墙、协议版本 | 更换网络/客户端;尝试 ssh -v 查看协商过程 |
二、服务器端与服务状态检查
systemctl status sshd(或 service ssh status);如未运行执行 systemctl start sshd && systemctl enable sshd。ss -tnlp | grep :22(或 netstat -tnlp | grep :22),应看到 0.0.0.0:22 或 :::22 的监听。firewall-cmd --list-ports;放行:firewall-cmd --add-port=22/tcp --permanent && firewall-cmd --reload。iptables -I INPUT -p tcp --dport 22 -j ACCEPT(生产环境请按策略固化)。/etc/ssh/sshd_config 中确保 Port 22、PermitRootLogin(按需)、PasswordAuthentication yes/no 与你的认证方式一致;修改后执行 systemctl restart sshd。/var/log/secure(RHEL/CentOS)或 /var/log/auth.log(Debian/Ubuntu)定位失败原因。三、客户端SecureCRT设置与验证
~/.ssh/authorized_keys。ping <服务器IP>(网络可达性)telnet <服务器IP> 22 或 nc -vz <服务器IP> 22(端口是否开放)ssh -v <服务器IP>(查看SSH握手与失败阶段)四、中文乱码处理
echo $LANG,推荐 en_US.UTF-8 或 zh_CN.UTF-8。/etc/locale.conf(或旧版 /etc/sysconfig/i18n),确保 LANG=en_US.UTF-8(或 zh_CN.UTF-8),然后执行 source /etc/locale.conf 或重登会话。iconv -f GBK -t UTF-8 input.txt -o output.txt五、实用命令清单
systemctl status sshdss -tnlp | grep :22firewall-cmd --add-port=22/tcp --permanent && firewall-cmd --reloadiptables -I INPUT -p tcp --dport 22 -j ACCEPTtail -f /var/log/secure 或 /var/log/auth.logping <IP>;telnet <IP> 22 或 nc -vz <IP> 22ssh -v <IP>