确保本地计算机与Ubuntu服务器之间的网络连通性正常。可通过ping <服务器IP地址>命令测试,若无法ping通,需排查网络线路、路由器设置或服务器IP是否正确。
Ubuntu服务器需开启SSH服务才能接受远程连接。执行以下命令检查服务状态:
sudo systemctl status ssh
若服务未运行,启动服务并设置开机自启:
sudo systemctl start ssh
sudo systemctl enable ssh
旧版SecureCRT可能与新版本Ubuntu的SSH密钥交换算法不兼容。编辑服务器端SSH配置文件:
sudo vi /etc/ssh/sshd_config
添加或修改以下参数(允许使用传统算法):
HostKeyAlgorithms ssh-rsa,ssh-dss
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
保存后重启SSH服务:
sudo systemctl restart sshd
Ubuntu的ufw防火墙可能阻止SSH连接(默认端口22)。执行以下命令放行SSH:
sudo ufw allow 22/tcp
若防火墙启用,需确保规则生效:
sudo ufw enable
(可选:暂时禁用防火墙测试是否为防火墙导致的问题:sudo ufw disable)
确保SecureCRT中的会话设置正确:
SSH2(默认);22(若修改过SSH端口,需同步修改);ubuntu、root);id_rsa)导入SecureCRT(Options -> Session Options -> SSH -> Authentication -> Private Key File)。若使用密钥认证,需确保私钥权限正确(私钥文件权限应为600):
chmod 600 ~/.ssh/id_rsa
在SecureCRT中,进入Options -> Session Options -> SSH -> Authentication,选择Public Key,并指定私钥文件路径。
若以上方法均无效,可通过服务器日志获取具体错误信息。执行以下命令实时查看SSH登录日志:
sudo tail -f /var/log/auth.log
根据日志中的错误提示(如“Permission denied”、“Invalid key”)进一步排查。
旧版本SecureCRT可能存在兼容性问题,建议升级到最新版本(官网下载更新),以修复已知的连接bug。