python - 如何使用Python建立与ssh命令匹配的隧道(用于堡垒)?

标签 python ssh

如何使用可以替换此命令的 Python 代码设置隧道?

ssh -N -L 3307:xxxxxx.rds.amazonaws.com:3306 ec2-user@XX.XXX.XX.XX -i ~/.ssh/bastion_key.pem

最佳答案

您可以使用sshtunnel图书馆。

例如:

from sshtunnel import SSHTunnelForwarder

with SSHTunnelForwarder(
    ('XX.XXX.XX.XX', 22),
    ssh_username='ec2-user',
    ssh_pkey='~/.ssh/bastion_key.pem',
    remote_bind_address=('xxxxxx.rds.amazonaws.com', 3306),
    local_bind_address=('0.0.0.0', 3307)
) as tunnel:
    # do stuff with tunnel

关于python - 如何使用Python建立与ssh命令匹配的隧道(用于堡垒)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52613455/

相关文章:

python - Flask-WTF 表单成功发布但从未发生验证

python - 从 apache/nginx 用户 id cookie 中提取日期

git - 将 ssh key 添加到 Git 帐户

Github - 有时无法通过 ssh 连接

python - 从python中的另一个函数调用一个函数

python - 如何在 for 循环中部分匹配 Python 中的列表?

linux - 重定向正在运行的进程的终端输出

api - 无法通过 SSH 连接到 Windows Azure 虚拟机

python - 从 Python 中的列表中删除数字的倍数

python - 使用 twisted.conch 作为客户端使用 ssh 接收扩展数据