当 ProxyCommand 不起作用但 ssh -tt 起作用时如何配置 ~/.ssh/config

当 ProxyCommand 不起作用但 ssh -tt 起作用时如何配置 ~/.ssh/config

我需要 ssh host aa ,然后 ssh host bb 。但这不方便,我想直接配置 ssh 到 host bb 。

我测试了所有方法并发现

# Working
ssh -tt root@aa ssh -tt root@bb

# Not work
ssh -J root@aa root@bb
ssh -o ProxyCommand="ssh -W %h:%p root@aa ssh" root@bb
ssh -t -o ProxyCommand='ssh root@aa nc bb 22' root@bb

我不知道如何使用 ssh -tt 编写配置,所有文档仅讨论 ProxyCommand 。

答案1

我发现我的目的例程是:本地 -- 本地 rsa --> 代理 -- 代理 rsa --> 目标

但 ssh 只允许:本地 -- 本地 rsa --> 代理 -- 本地 rsa --> 目标

因此,解决方案是将本地 rsa pub_key 添加到 Target:

ssh root@aa
ssh root@bb
echo 'your_rsa.pub file content' >> ~/.ssh/authorized_keys

然后就ProxyCommand可以了。

相关内容