SecureCRT配合 Ubuntu 远程调试实操指南
一 环境准备与连通性
- 在 Ubuntu 上安装并启动 SSH 服务,以便 SecureCRT 通过 SSH2 安全登录:
- 安装:sudo apt-get update && sudo apt-get install -y openssh-server
- 状态:sudo service ssh status(应显示 active/running)
- 重启:sudo service ssh restart
- 端口:sudo netstat -tlnp | grep :22(确认 sshd 监听 22)
- 获取 Ubuntu IP:在 Ubuntu 执行 ifconfig(或 ip a),记下如 192.168.x.x 的地址
- 网络连通性:从 Windows 命令行执行 ping 192.168.x.x 确认可达
- 防火墙放行:在 Ubuntu 放行 22 端口(如使用 ufw:sudo ufw allow 22)
以上步骤完成后,即可用 SecureCRT 通过 SSH 登录 Ubuntu 进行后续调试。
二 建立 SecureCRT 会话
- 新建会话:Protocol 选 SSH2;Hostname 填 Ubuntu IP;Port 22;Username 填 Ubuntu 用户名
- 认证方式:
- 密码登录:连接时输入密码
- 密钥登录(推荐):在 SecureCRT 使用 Tools → Manage Agent Keys 导入私钥(如 id_rsa),登录时选择公钥即可免密
- 会话优化(建议设置):
- Terminal → Emulation:Terminal 选 Linux
- Appearance → Character:Encoding 选 UTF-8(解决中文乱码)
- Appearance → Font/Color Scheme:按喜好调整字体与配色
- 其他:可开启 Log session 记录调试输出,便于回溯
上述配置可实现稳定登录与高效终端体验。
三 远程调试的常用方式
- 交互式命令行调试
- 直接运行程序:gdb ./app 或 python3 -m pdb app.py
- 结合日志:运行前导出日志级别与路径,例如 export GLOG_logtostderr=1 或 tail -f app.log
- 程序输出与日志
- 实时查看:tail -f /var/log/syslog 或应用自定义日志
- 分离输出:nohup ./app > app.log 2>&1 &
- 文件传输
- SFTP 会话:在 SecureCRT 使用 Alt+P 打开 SFTP,执行 get/put 拉取或上传二进制、脚本、配置与数据
- 大文件/断点续传:可用 Zmodem(需两端支持)
- 端口转发配合本地 IDE 调试
- 场景:程序在 Ubuntu 上监听 127.0.0.1:5000,希望在本地 IDE 调试
- 在 SecureCRT 会话属性:Connection → Port Forwarding → Add
- 本地端口:如 5000
- 远程主机:127.0.0.1
- 远程端口:5000
- 本地 IDE 连接 localhost:5000 即可调试远端服务
- 串口调试(物理机/嵌入式)
- 若需调试串口设备,SecureCRT 支持 Serial 协议:选择 Serial,设置 Port/baudrate/parity 等参数后连接
以上方法覆盖命令行、日志、文件传输与端口转发等常见调试路径,满足大多数远程开发/运维场景。
四 常见问题与排查
- 连接被拒绝或超时
- 确认 Ubuntu 已安装并运行 openssh-server:sudo service ssh status
- 检查端口监听:netstat -tlnp | grep :22
- 核对 IP/端口 与网络连通性(ping、路由、公司网策略)
- 防火墙/安全组放行 22
- 中文乱码
- SecureCRT:Session Options → Appearance → Character 设为 UTF-8
- 协议/加密兼容
- 如握手失败,可在 /etc/ssh/sshd_config 中临时放宽加密套件(示例:Ciphers 增加常见算法),保存后重启服务:sudo service ssh restart
- 版本过旧
- 老旧 SecureCRT 可能与新版本 OpenSSH 不兼容,建议升级到 7.2.3+ 或更高版本
以上为高频问题及处理方向,可逐项定位并修复。