File → New 新建一个会话。
Connection → Authentication,设定认证方式(密码 / 公钥)
最直接的方式,适合测试 / 小规模使用。但不推荐用于生产环境,因为可能明文保存或被拦截。
Tools → User Key Manager 中生成或导入私钥。
~/.ssh/authorized_keys,确保权限正确(~/.ssh 目录权限 700,authorized_keys 文件权限 600)。
.pem 的处理.pem 文件可通过 User Key Manager 导入(如果版本兼容)
root,要根据 AMI 不同使用 ec2-user、ubuntu 等。
若导入失败、提示“Failed to import user key”或“invalid format”,应检查密钥格式转换是否正确。
远端主机编码、Xshell 终端编码和文件编码三者不一致,是乱码的主要根源。
locale / echo $LANG,查看是否为 UTF-8 或其他编码格式。
Unicode (UTF-8)。
字体选择:使用支持中文的等宽字体,如 “Consolas + 中文扩展” 或者 “微软雅黑 等宽” 等。
~/.bashrc)中加入:
export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8
保存后重新登录。
iconv 转换:
iconv -f GBK -t UTF-8 infile > outfile
若按上述方法操作后仍乱码,要同时检查三处设置是否一致,或临时切换编码试错。
lrzsz 包(提供 sz / rz 命令)。
sz filename 或 rz 并切换客户端接收。
常见失败处理
sz:说明服务器未安装 lrzsz,需执行 sudo apt install lrzsz / yum install lrzsz。
sshd_config 是否启用了 SFTP(Subsystem sftp /usr/lib/openssh/sftp-server)以及账号权限。
故障处理
sshd_config 中 sftp 子系统路径是否正确。
Xshell 支持三种主要类型的端口转发:本地 (Local)、远程 (Remote)、动态 (Dynamic / SOCKS)。
用途:把远端服务映射到本地端口。
示例:将远端数据库 db.internal:3306 映射到本地 localhost:3336。
操作:在会话属性 → Tunneling → Add → Type = Local → Source / Destination 填写对应地址与端口 → 保存生效。
用途:让远端服务器监听端口转发至本地或内网机器。 场景:将内网服务暴露给远端访问。
用途:建立本地 SOCKS 代理(如本地 1080 端口),让浏览器或其他程序通过 SSH 隧道访问外部网络。 注意:支持 TCP 转发,不支持 UDP;部分协议可能无法经过代理。
故障检查要点
在网络设备、嵌入式板卡、交换机等设备上常有“串口控制台”需求。Xshell 支持 Serial 协议:
设置方式:
Serial
常见故障处理
Xshell 提供脚本接口(VBScript / JScript / Perl 风格)以及 Script Recording(录制脚本)功能。官方手册有 Script Example 部分。 NetSarang Website
示例伪代码(VBScript 风格):
Set xsh = CreateObject("Xshell.Session") xsh.Open "C:\Path\To\Session.xsh" xsh.Screen.Synchronous = True xsh.Screen.WaitForString "login: " xsh.Screen.Send "username\r" xsh.Screen.WaitForString "Password: " xsh.Screen.Send "password\r"
提示:批量操作误操作风险高,建议先在单台测试,或给命令添加
--dry-run判断逻辑
下面是对各类常见错误消息及场景的排查思路与对应方法。
故障 | 可能原因 | 解决步骤 |
|---|---|---|
Connection refused | SSH 未启动 / 端口错误 / 防火墙阻断 | ping 主机、telnet 端口、查看服务器 sshd 状态、配置防火墙规则 |
Connection timed out | 路由 / 网络阻塞 / 安全组 | 使用 tracert/traceroute 检查路径、中间节点丢包,检查网络 ACL / 安全组 |
Host key verification failed / REMOTE HOST IDENTIFICATION HAS CHANGED | 主机密钥变更 / 中间人攻击 | 确认是否更换服务器、删除本地 known_hosts 对应条目、重新接受 host key |
Authentication failed | 密码错误 / 用户名错误 / 公钥问题 / 权限错误 | 检查用户名 / 密码 / 私钥导入 / 公钥是否写入 authorized_keys、权限设置 |
ZMODEM 传输失败 / 不响应 | 服务器未安装 sz/rz / 终端设置冲突 | 安装 lrzsz 包、关闭终端自动转换设置、手动运行 sz / rz 测试 |
Xftp / SFTP 连接失败 | 子系统未启用 / 权限错误 / 防火墙 | 检查 sshd_config 中 sftp 子系统配置 / 权限 / 防火墙设置 |
中文乱码 | 编码不一致(服务器 / Xshell / 文件) | 三处编码统一为 UTF-8、设置环境变量、或对文件做 iconv 转换 |
串口乱码 / 无响应 | 波特率 / 校验 / 串口号 / 驱动错误 | 检查配置是否与设备一致,更新串口驱动,确认线缆连接正常 |
在实际排查中,可以从最基础的网络连通性 → 服务状态 → 认证方式 → 配置文件依次排查。
以下是 Xshell 常用的快捷键与建议(可在 Options → Key Mapping 自定义):
Ctrl + Tab / Shift + Ctrl + Tab:切换标签页
Shift + Alt + Enter:全屏 / 多窗格模式
Ctrl + Alt + ]:跳转到本地 Shell 命令行(当会话中断或输入问题时)
完整快捷键列表可查官方手册 “Pre-defined Shortcut Key” 部分。 NetSarang Website