我有以下布局。
- A(NAT/防火墙后面的机器)
- B(用于反向 ssh 连接的服务器 - 堡垒主机?)
- C(我的笔记本电脑)
A 形成一个反向 ssh 到 B
/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -o "StrictHostKeyChecking=no" [email protected] -R 22000:localhost:22 -C -i ~/id_rsa
C 通过 B 与 A 建立 ssh 连接(B 是我的跳转主机)
我使用以下 ssh 配置 ( .ssh/config
)
Host B
ForwardAgent yes
HostName xxx.xxx.xxx.xxx
IdentityFile ~/.ssh/b.id_rsa
Host A
HostName 127.0.0.1
ProxyJump B
StrictHostKeyChecking no
IdentityFile ~/.ssh/a.id_rsa
Port 22000
此时我可以键入ssh A
并按预期访问服务器终端。
现在我希望能够通过隧道工具(例如 Robo T3)使用端口 27000 从我的本地连接到主机 A 上安装的 MongoDB 并监听 localhost:27017。
我应该在我的 SSH 命令中添加什么(或在配置中修改)来实现这一点?
感谢这篇文章(我如何 ssh 隧道端口转发?)我设法找到了非常简单的解决方案。