SSH 隧道:中间主机拥有最终主机的密钥

SSH 隧道:中间主机拥有最终主机的密钥

我想实现一个(临时的,不是一个稳定的配置) SSH 隧道,这样我就可以从盒子 A 通过 B 通过 SSH 到达盒子 C。

A--->B--->C

我了解到可以通过在 A 上运行 2 个命令来完成此操作:

ssh userB@B -L PORT:A:22
ssh userC@localhost -p PORT

问题是,只要可以从盒子 A 执行身份验证,这种方法就有效,例如,盒子 C 要求输入用户 C 的密码,盒子 A 会提示输入密码并输入。但是,在我的情况下,访问盒子 C 的方式是存储在盒子 B 上的密钥(因此,从盒子 B 只需输入密码,ssh userC@C而不会提示输入密码)。盒子 A 只会看到消息Permission denied (publickey)

在这种情况下有没有办法允许访问?

答案1

感谢@Kamil Maciorowski,他们提到的答案很有帮助。ssh -J userB@B userC@Cssh userB@B 'ssh userC@C'都有效。我发现前者更适合我的特定需求

相关内容