SSH 跳板机配置指南

通过 SSH 配置跳板机(Bastion Host)可以让你通过一个中间服务器访问内网中的其他服务器。以下是配置方法:

方法一:使用 SSH Config 文件配置跳板

编辑 ~/.ssh/config 文件(如不存在则创建),添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 跳板机配置
Host bastion
HostName bastion.example.com
User your_username
Port 22
IdentityFile ~/.ssh/id_rsa

# 目标服务器配置(通过跳板机访问)
Host internal-server
HostName 192.168.1.100 # 内网IP
User internal_user
Port 22
ProxyCommand ssh -W %h:%p bastion
IdentityFile ~/.ssh/internal_key

方法二:使用 ProxyJump 指令(SSH 7.3+)

对于较新版本的 SSH(7.3及以上),可以使用更简单的 ProxyJump:

1
2
3
4
5
Host internal-server
HostName 192.168.1.100
User internal_user
ProxyJump bastion
IdentityFile ~/.ssh/internal_key

使用方法

配置完成后,只需执行:

1
ssh internal-server

SSH 会自动先连接到跳板机,然后通过跳板机连接到目标服务器。

多级跳板配置

如果需要经过多个跳板机:

1
2
3
4
5
Host internal-server
HostName 192.168.1.100
User internal_user
ProxyJump bastion1,bastion2
IdentityFile ~/.ssh/internal_key

注意事项

  1. 确保跳板机和目标服务器上的 SSH 服务已启用
  2. 确保本地有跳板机和目标服务器的 SSH 密钥
  3. 可能需要配置跳板机上的 SSH 服务允许端口转发
  4. 对于敏感环境,建议使用 SSH 证书而非密码认证

调试技巧

如果连接失败,可以添加 -v 参数查看详细日志:

1
ssh -v internal-server