This topic created in 1539 days ago, the information mentioned may be changed or developed.
最近远程办公,导致必须连接公司内网后再连接服务器。经常要做这样的操作: 从家中主机 A 连接到公司自己的办公主机 B ,再从办公主机连接到服务器 C1 ,C2 , 等等。
现在的需求是:从 A 出发使用 SSH 连接到服务器 C1 ,C2 ,如何操作配置项和操作都是最少的?
查到了 ssh -A 这个命令,但没找到有用的文档。求助。
目前是从 A ssh 连接到 B 后,再从 B 上发起 SSH 连接到 C1 ,C2 ,但这样隔了一层,比较慢也比较麻烦。 也考虑过复制 B 的私钥到 A 然后从 A 直接连接, 但不知使用 ssh -A 会更好。
6 replies • 2022-04-02 06:42:00 +08:00
 |
|
1
zhanglintc Apr 1, 2022
`ssh -A` 不是你想象中的这个效果。
`ssh -A` 其实等效于 `ssh -o "ForwardAgent yes"`,就是开启 **SSH 代理转发**,大概就是说跳板机上不需要输入什么认证信息,可以直接用你本地的认证信息。
- 如果你真的可以把 B 的私钥拷贝到 A 然后从 A 连接的话,那这么干最简单(但是我估计你们公司的网络不是这么设计的,你们那里暴露出来公网机器的只有 B 这台机器) - 如果你们只暴露了 B 这台公网机器,那就只能从 B 做跳板机跳转,没有办法。
|
 |
|
2
archean Apr 1, 2022
关键字 proxyjump ,看看是否满足你需求。
|
 |
|
3
iloveayu Apr 1, 2022 via iPhone
在办公机 B 上,开两个端口映射,分别到 C1 和 C2 的 22 端口。
|
 |
|
4
wd Apr 1, 2022 via iPhone
你可能需要 ssh -j A C1 吧
|
 |
|
5
Osk Apr 1, 2022
A -> B 之间隧道长连接, 挂后台藏着, 使用 ssh -D 动态隧道, 这个链接可以作为 A 到公司内网任意地址的 socks5 代理. 然后 A 直接 连接 C, 但是参数中指定使用上一条中的代理隧道, 写到配置文件中, 几乎感觉不到 B 的存在, 只有当 ab 间的 ssh 断开了才有感觉.
我一直这么用的
|
 |
|
6
hawhaw Apr 2, 2022 via Android
1, 本地 A 上要启动 ssh-agentd (貌似这么拼的) 2, 用命令 ssh -j B C 这么连(如果你的 ssh 命令支持 -j 参数的话)
|