Python - 在内部打开多个SSH连接
我想做的事情是:
- 先通过SSH连接到服务器1
- 在服务器1里面,再通过SSH连接到服务器2
- 在服务器2里面,再通过SSH连接到服务器3
- 在服务器3上,执行一个命令(比如mysql)
- 在mysql控制台里,再执行另一个命令。
- 然后一步步退出,回到服务器1。
这样的操作可以实现吗?如果可以的话,怎么做呢?
1 个回答
0
这是可能的:只需在每个新的跳点上执行ssh
(或者先上传一个对应的Python程序),当你最终到达目标时,再执行mysql
。
不过,这并不推荐:你绝对不应该在一台服务器上输入(或者更糟糕的是,存储)另一台服务器的密码。这意味着如果服务器1被攻破,你整个网络都会受到影响。
相反,建议你使用前两次的ssh会话来创建通往下一个跳点的隧道,可以使用命令行ssh
的-L
选项(你可能本来就需要使用这个,见上文),或者使用paramiko。