Xshell 连接跳板机教程
2026/3/20大约 7 分钟
Xshell 连接跳板机教程
提示
Xshell 是 Windows 平台最流行的 SSH 客户端之一,本文将详细介绍如何使用 Xshell 配置和连接跳板机。
环境准备
下载安装 Xshell
- 访问 NetSarang 官网
- 下载 Xshell(个人/教育版免费)
- 安装时可同时安装 Xftp(文件传输工具)
准备信息
| 信息项 | 示例值 | 说明 |
|---|---|---|
| 跳板机地址 | jump.company.com | 跳板机公网 IP 或域名 |
| 跳板机端口 | 22 | SSH 端口 |
| 跳板机用户 | deploy | 跳板机登录用户 |
| 内网服务器 IP | 10.0.0.10 | 目标服务器内网地址 |
| 内网服务器用户 | deploy | 目标服务器登录用户 |
| SSH 私钥 | id_ed25519 | 你的 SSH 私钥文件 |
方式一:通过代理连接(推荐)
这是最推荐的方式,可以一键直连内网服务器。
步骤 1:创建跳板机会话
打开 Xshell,点击 文件 → 新建
在 连接 选项卡中填写:
- 名称:
跳板机-Jump - 主机:
jump.company.com(你的跳板机地址) - 端口号:
22
- 名称:
点击左侧 用户身份验证:
- 方法:
Public Key - 用户名:
deploy - 用户密钥:点击 浏览 → 导入 → 选择你的私钥文件
- 方法:
点击 确定 保存
步骤 2:创建内网服务器会话(使用代理)
点击 文件 → 新建
在 连接 选项卡中填写:
- 名称:
内网Web服务器 - 主机:
10.0.0.10(内网服务器 IP) - 端口号:
22
- 名称:
点击左侧 代理:
- 勾选 通过代理服务器连接
- 点击 浏览 → 添加
- 填写代理信息:
- 名称:
跳板机代理 - 类型:
SSH2 - 主机:
jump.company.com - 端口:
22 - 用户名:
deploy - 密码:留空(使用密钥)
- 名称:
- 点击 确定
- 选中刚创建的代理
点击左侧 用户身份验证:
- 方法:
Public Key - 用户名:
deploy - 用户密钥:选择你的私钥
- 方法:
点击 确定 保存
步骤 3:连接测试
双击 内网 Web 服务器 会话,Xshell 会自动:
- 先连接跳板机
- 通过跳板机连接内网服务器
- 最终进入内网服务器的 shell
方式二:使用登录脚本自动跳转
这种方式先登录跳板机,然后自动执行 SSH 命令连接内网服务器。
步骤 1:创建跳板机会话
同 方式一 步骤 1
步骤 2:配置登录脚本
- 打开跳板机会话属性(右键 → 属性)
- 点击左侧 登录脚本
- 勾选 执行以下登录脚本
- 添加脚本:
| 等待 | 发送 |
|---|---|
$ 或 ]# | ssh deploy@10.0.0.10 |
- 点击 确定
工作原理
连接跳板机 → 登录成功后出现命令提示符 → 自动执行 ssh 命令 → 进入内网服务器
注意事项
- 登录脚本方式依赖命令提示符,不同系统提示符可能不同
- 如果内网服务器需要密码,还需要添加密码发送脚本
- 推荐使用 方式一 的代理方式,更稳定可靠
方式三:本地端口转发
适用于需要通过跳板机访问内网服务(如数据库)的场景。
场景示例
本地电脑 → 跳板机 → 内网数据库 (10.0.0.20:3306)
步骤 1:配置端口转发
打开跳板机会话属性
点击左侧 SSH → 隧道
点击 添加
填写转发规则:
- 类型:
Local (Outgoing) - 源主机:
localhost - 侦听端口:
3306 - 目标主机:
10.0.0.20 - 目标端口:
3306
- 类型:
点击 确定
步骤 2:使用转发
- 连接跳板机会话
- 保持会话窗口打开
- 使用数据库工具连接:
- 主机:
127.0.0.1 - 端口:
3306
- 主机:
添加多个转发规则
可以同时添加多个端口转发:
| 类型 | 源端口 | 目标主机 | 目标端口 | 用途 |
|---|---|---|---|---|
| Local | 3306 | 10.0.0.20 | 3306 | MySQL |
| Local | 6379 | 10.0.0.30 | 6379 | Redis |
| Local | 8080 | 10.0.0.10 | 80 | Web |
密钥管理
导入现有密钥
- 打开 Xshell
- 点击 工具 → 用户密钥管理者
- 点击 导入
- 选择你的私钥文件(如
id_ed25519或id_rsa) - 如果私钥有密码,输入密码
- 点击 确定
生成新密钥
- 点击 工具 → 用户密钥管理者
- 点击 生成
- 选择密钥类型:
- ED25519(推荐,更安全)
- RSA(兼容性好,选择 4096 位)
- 设置密钥名称和密码
- 生成完成后,点击 属性 → 公钥 → 保存为文件
- 将公钥内容添加到服务器的
~/.ssh/authorized_keys
密钥格式转换
Xshell 使用 NetSarang 格式(.xsk),如果需要与其他工具共用:
导出为 OpenSSH 格式:
- 用户密钥管理者 → 选中密钥 → 属性
- 点击 公钥 标签
- 选择 SSH2-OpenSSH 格式
- 保存公钥
导入 OpenSSH 格式私钥:
- Xshell 可以直接导入 OpenSSH 格式的私钥(id_rsa, id_ed25519)
会话管理技巧
会话文件夹
组织大量会话时,使用文件夹分类:
会话
├── 生产环境
│ ├── 跳板机-Prod
│ ├── Web-01
│ ├── Web-02
│ └── DB-Master
├── 测试环境
│ ├── 跳板机-Test
│ ├── Web-Test
│ └── DB-Test
└── 个人服务器
└── My-VPS
快速连接
- 地址栏快速连接:在地址栏直接输入
ssh://user@host:port - 快捷键:
Alt + O打开会话管理器 - 标签管理:
Ctrl + Shift + T新建标签页
会话导出/导入
导出会话:
- 点击 文件 → 导出
- 选择要导出的会话
- 保存为
.xsh文件
导入会话:
- 点击 文件 → 导入
- 选择
.xsh文件
实用配置
自动重连
会话属性 → 连接 → 选项:
- 勾选 连接断开时自动重新连接
- 设置 重试次数 和 重试间隔
保持连接
防止连接因空闲超时断开:
会话属性 → 连接 → 保持活动:
- 勾选 发送保持活动消息
- 间隔:60 秒
日志记录
记录会话操作日志:
会话属性 → 高级 → 日志:
- 勾选 启动登录
- 设置日志文件路径
- 选择日志格式
终端设置
会话属性 → 终端:
- 终端类型:
xterm-256color(支持彩色输出) - 编码:
UTF-8(支持中文)
文件传输(Xftp 集成)
快速启动 Xftp
在 Xshell 会话中:
- 点击工具栏的 新建文件传输 按钮
- 或按
Ctrl + Alt + F
Xftp 会自动使用当前会话的连接信息(包括代理设置)。
通过跳板机传输文件
如果 Xshell 会话已配置代理连接内网服务器,Xftp 也会自动通过跳板机传输。
常见问题
Q1:连接超时
可能原因:
- 跳板机地址或端口错误
- 防火墙阻止连接
- 网络问题
解决方案:
- 检查跳板机地址和端口
- 使用
telnet jump.company.com 22测试端口连通性 - 联系网络管理员检查防火墙
Q2:密钥认证失败
可能原因:
- 私钥文件不正确
- 公钥未添加到服务器
- 密钥权限问题
解决方案:
- 确认导入的是私钥(不是公钥)
- 检查服务器
~/.ssh/authorized_keys是否包含对应公钥 - 检查服务器密钥文件权限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
Q3:代理连接失败
可能原因:
- 代理配置错误
- 跳板机无法访问内网服务器
解决方案:
- 先直接连接跳板机测试
- 在跳板机上手动 ssh 内网服务器测试
- 检查代理配置的用户名和密钥
Q4:中文乱码
解决方案:
- 会话属性 → 终端 → 编码 → 选择
UTF-8 - 确保服务器 locale 设置正确:
export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8
Q5:连接经常断开
解决方案:
- 配置保持活动消息(见上文)
- 检查服务器 SSH 配置:
# /etc/ssh/sshd_config ClientAliveInterval 60 ClientAliveCountMax 3
安全建议
- 密钥保护:为私钥设置密码
- 会话加密:Xshell 会话文件可设置主密码
- 日志审计:启用会话日志记录
- 定期更新:保持 Xshell 为最新版本
- 代理优于脚本:使用 SSH 代理方式,避免登录脚本暴露密码