Python - 在彼此内部(内部)打开多个 SSH

发布于 2024-12-10 11:41:15 字数 209 浏览 0 评论 0原文

这是我想要做的:

  1. SSH到服务器1
  2. 内的服务器1,SSH到
  3. 服务器2内的服务器2,SSH到服务器3
  4. 内的服务器3,在mysql控制台内运行单个命令(如mysql)
  5. ,运行另一个命令。
  6. 然后一路退出到服务器 1

是否可以执行这样的过程?如果是,那么如何?

Here is what I want to do :

  1. SSH to server 1
  2. inside server 1, SSH to server 2
  3. inside server 2, SSH to server 3
  4. inside server 3, run a single command ( like mysql )
  5. inside mysql console, run another command.
  6. then exit all the way to server 1

Is it possible to do a procedure like this ? If yes, then how ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谜兔 2024-12-17 11:41:15

这是可能的:只需在每个新跃点上执行 ssh(或您先上传的相应 Python 程序),当最终到达目标时,执行 mysql< /代码>。

但是,这不是可取的:您永远不应该在一台服务器上输入另一台服务器的密码(或更糟糕的是,将私钥存储在另一台服务器上)。这意味着如果服务器 1 受到损害,您的整个网络都会受到损害。

相反,使用前两个 ssh 会话来创建到下一跃点的隧道,或者使用命令行 ssh-L 选项(您可能无论如何都需要使用它) ,见上文),或使用 paramiko

It is possible: Just execute ssh (or a corresponding Python program you upload first) on each new hop, and when you finally reach the target, execute mysql.

However, it's not advisable: You should never enter passwords (or worse, store private keys) for one server on another server. That means that if server 1 is ever compromised, your whole network is compromised.

Instead, use the first two ssh sessions to create tunnels to the next hop, either with the -L option of the command-line ssh (which you probably need to use anyways, see above), or with paramiko.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文