ssh python fabric
我其实不太明白该怎么做。
我有一台本地电脑,比如说它的地址是 192.168.1.101,用户名是 some_user。从这台电脑上,我可以通过 VPN 访问另一台电脑,地址是 10.0.132.17,而只有从这台电脑我才能访问到另一台电脑,地址是 10.0.132.15,我需要在那台电脑上部署我的脚本。
所以我需要:
$ ssh some_user@192.168.1.101 -> ssh another_user@10.0.132.17 -> ssh another_user@10.0.132.15
我能不能通过输入 ssh some_user@192.168.1.101 -p 2222
来访问 another_user@10.0.132.15
呢?
或者在 Python 的 fabric 中以某种方式写入环境变量?
1 个回答
0
除了使用明确的隧道,还有一个选择就是设置SSH,让它通过你的代理自动转发。你可以在你的 ~/.ssh/config
文件里添加类似下面的内容:
Host proxy_midstage
User another_user
HostName 10.0.132.17
ProxyCommand ssh -q some_user@192.168.1.101 nc %h %p
Host proxy_final
User another_user
HostName 10.0.132.15
ProxyCommand ssh -q proxy_midstage nc %h %p
这样,当你输入命令 ssh proxy_final
时,就能直接连接到部署服务器。虽然我不太确定,但应该是fabric也能用这个方法。