python使用sshtunnel访问远程数据库

实现

def get_ssh_tunnel(middle_name, remote_name, localport):
    session = models.get_db_session()
    middle_host = session.query(models.Server).filter(models.Server.name == middle_name).one()
    remote_host = session.query(models.Server).filter(models.Server.name == remote_name).one()
    return SSHTunnelForwarder(
        (middle_host.host, int(middle_host.port)),
        ssh_username=middle_host.username,
        ssh_password=middle_host.password,
        remote_bind_address=(remote_host.host, int(remote_host.port)),
        local_bind_address=("0.0.0.0", int(localport))
    ), middle_host, remote_host

参考

https://pypi.org/project/sshtunnel/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,061评论 1 3
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007阅读 2,227评论 0 3
  • 工欲善其事,必先利其器。总结一下,方便多了。R语言还是很牛逼的,可以干很多事情。有一把顺手的刀还是很重要的。 0....
    Liam_ml阅读 4,704评论 1 60
  • Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy。其中Numpy是一个用python实现的...
    三两五阅读 2,305评论 1 10
  • 海沐微风阅读 217评论 0 0