温馨提示×

Linux SecureCRT登录失败怎么办

小樊
65
2026-07-10 21:50:17
栏目: 智能运维

在 Linux 下使用 SecureCRT 登录失败,原因很多,可以按下面顺序逐项排查。常见问题和对应解决方法如下:


一、确认基本连接信息

  1. IP 是否正确
    ping 目标IP
    
  2. 端口是否正确
    • 默认 SSH:22
    • 是否被修改(如 2222、36000)
  3. 协议是否选对
    • 一般选 SSH2
    • 不要误选 Telnet / Serial

二、检查 SSH 服务是否正常

在目标 Linux 服务器上执行:

systemctl status sshd

如果未启动:

systemctl start sshd
systemctl enable sshd

确认端口监听:

ss -lntp | grep ssh

三、SecureCRT 常见报错及处理

1️⃣ 提示 “Connection refused”

✅ 原因:

  • SSH 服务未启动
  • 端口错误
  • 防火墙拦截

✅ 解决:

# 防火墙放行
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload

或(iptables):

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

2️⃣ 提示 “Connection timed out”

✅ 原因:

  • 网络不通
  • 被防火墙 / 安全组拦截

✅ 解决:

  • 检查本地到服务器网络
  • 云服务器检查 安全组 / ACL

3️⃣ 提示 “Password authentication failed”

✅ 原因:

  • 密码错误
  • 用户被禁用
  • 禁止密码登录

✅ 解决:

passwd 用户名

检查:

grep PasswordAuthentication /etc/ssh/sshd_config

应为:

PasswordAuthentication yes

修改后重启 sshd:

systemctl restart sshd

4️⃣ 提示 “Permission denied (publickey)”

✅ 原因:

  • 使用密钥登录但无对应私钥
  • 公钥未放入 ~/.ssh/authorized_keys

✅ 解决:

  • SecureCRT → Session Options → SSH2 → PublicKey
  • 确认私钥路径正确

服务器检查:

ls -ld ~/.ssh
ls -l ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

5️⃣ 提示 “Key exchange failed” / “No compatible encryption”

✅ 原因:

  • SecureCRT 版本太老
  • 服务器禁用了旧算法

✅ 解决:

  • 升级 SecureCRT
  • 或临时允许旧算法(不推荐长期):
KexAlgorithms curve25519-sha256,diffie-hellman-group14-sha1

四、检查用户与权限

passwd -S 用户名

确认:

  • 用户未被锁定
  • Shell 正常
grep 用户名 /etc/passwd

五、查看服务器日志(非常重要)

tail -f /var/log/secure
# 或
journalctl -u sshd -f

登录失败时,日志会直接给出原因。


六、Selinux 干扰(少见但容易忽略)

getenforce

如果是 Enforcing,可临时测试:

setenforce 0

若恢复正常,需调整 Selinux 策略。


七、快速自检清单 ✅

  • [ ] IP / 端口正确
  • [ ] SSH 服务运行
  • [ ] 防火墙放行
  • [ ] 密码或密钥正确
  • [ ] 用户未被锁定
  • [ ] SecureCRT 协议 & 算法匹配

如果你愿意,可以把 SecureCRT 的具体报错截图或文字 发出来,我可以直接帮你定位是哪一类问题。

0