我需要 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
可以了。