Linux 下使用 SecureCRT 远程连接的排查与解决
一 概念澄清与快速判断
- SecureCRT 是终端仿真客户端,基于 SSH2 连接到 Linux 的 22 端口(默认),它提供的是命令行 Shell,不是图形化的远程桌面。若你的目标是图形桌面,请使用 RDP(Windows 远程桌面)/VNC/X2Go 等协议与工具。若你确实在用 SecureCRT 连 Linux,请继续按下方步骤排查 SSH 连接问题。
二 标准连接配置步骤
- 在 Linux 服务器上准备 SSH 服务
- 检查并启动服务:
- Ubuntu/Debian:sudo systemctl status ssh && sudo systemctl start ssh && sudo systemctl enable ssh
- RHEL/CentOS:sudo systemctl status sshd && sudo systemctl start sshd && sudo systemctl enable sshd
- 确认监听端口:ss -tlnp | grep :22(默认应为 22)
- 在 SecureCRT 中新建会话
- Protocol 选 SSH2,Hostname 填服务器 IP,Port 22,Firewall 选 None
- Authentication 选择 Password 或 PublicKey(推荐密钥登录)
- 首次连接会提示主机指纹,确认保存后输入用户名/密码或选择私钥登录。
三 常见报错与对应处理
- 连接超时(无法建立 TCP 连接)
- 现象:长时间卡在“正在连接…”
- 处理:
- 在服务器上确认 SSH 正在监听:ss -tlnp | grep :22
- 检查本机与服务器的网络连通性:ping 服务器IP
- 检查服务器防火墙/安全组是否放行 22 端口
- firewalld:sudo firewall-cmd --list-ports;放行:sudo firewall-cmd --add-port=22/tcp --permanent && sudo firewall-cmd --reload
- ufw:sudo ufw status;放行:sudo ufw allow ssh
- 云主机安全组需放行入站 TCP/22
- 若端口被修改,SecureCRT 的 Port 需与服务器一致
- 拒绝连接(Connection refused)
- 现象:立即提示“连接被拒绝”
- 处理:
- 目标机未运行 SSH 服务:sudo systemctl start sshd
- SSH 服务未监听 22:检查 /etc/ssh/sshd_config 的 Port 与 ListenAddress,重启 sshd
- 认证失败(Authentication failed)
- 现象:用户名/密码错误或密钥不匹配
- 处理:
- 确认用户名与密码正确;若用密钥,确保私钥路径正确、权限为 600
- 将公钥(id_rsa.pub)追加到服务器对应用户的 ~/.ssh/authorized_keys,并设置权限:chmod 700 ~/.ssh;chmod 600 ~/.ssh/authorized_keys
- 主机密钥变更(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED)
- 现象:提示主机密钥与缓存不一致
- 处理:在客户端删除该主机的旧指纹记录(SecureCRT 会提示保存指纹),或清理 known_hosts 中对应条目后重连
- 虚拟机场景连不通
- 现象:宿主机与虚拟机彼此 ping 不通
- 处理:
- 确认虚拟机网络模式(桥接/NAT)与宿主网络在同一网段
- 在 VMware 检查 VMnet8/NAT 服务与虚拟网卡是否正常
- 为虚拟机配置静态 IP并与宿主机网段匹配,避免 DHCP 导致 IP 变化。
四 安全与优化建议
- 优先使用 SSH 密钥认证,禁用 root 直接登录(/etc/ssh/sshd_config:PermitRootLogin no),并限制可登录用户
- 仅开放必要端口(如 22/TCP),使用 firewalld/ufw 或云安全组做白名单控制
- 在 SecureCRT 中启用会话日志、合理设置回滚缓冲区、选择合适的字符编码(UTF-8),提升可维护性与可读性。