【问题标题】:SSH tunnel and Python 3.3SSH 隧道和 Python 3.3
【发布时间】:2013-08-12 01:00:49
【问题描述】:

我需要创建一个应用程序(严格来说是 python 3.3),用户可以在其中将他们的设置在线保存/加载到远程托管数据库。出于安全原因,我不希望将数据库更改为监听 localhost 以外的任何其他内容,因此我认为对我来说最好的解决方案是让程序在保存/加载发生之前创建一些 ssh 隧道。

此政策会使我的数据库不安全吗?

我怎样才能做到这一点?我尝试安装 paramiko,但它还没有准备好 python 3+。 我还想也许我可以在应用程序的安装中包含腻子托盘和一些适当的脚本,以便我可以创建那个隧道,但我在这里寻找一些聪明而高效的东西。当然,我真的非常希望避免每次激活隧道时出现任何额外的托盘图标或外壳。

我在这里问是为了听听有经验的人的意见。因为我缺乏那个:)。你有什么建议?

提前谢谢

【问题讨论】:

    标签: python ssh putty paramiko tunnel


    【解决方案1】:

    我目前正在处理类似的问题(尝试使用目前不提供身份验证的 Docker 远程 API)。我目前正在使用bgtunnel,尽管我时不时会遇到一些错误(通常通过刷新网页来解决) - 乍一看是因为尝试建立一个已经存在的连接。这可能可以使用一些thread.isAlive() 的东西来解决,但总而言之,管理连接有点麻烦——它已经存在了吗?我应该在任何请求之前检查还是尝试建立它并在异常时重做 API 调用。这有点棘手。我也开始探索 Paramiko,希望从 Python 中处理起来会更容易一些——porting to Python 3 的过程目前似乎快完成了。

    也就是说,我希望任何体面的数据库都具有足够好的内置身份验证和加密,我不应该害怕在没有任何 ssh 隧道的情况下远程使用它。从SO answer 看来,例如 Postrges 可以通过这种方式进行配置。这意味着您可以退出 ssh,这是堆栈中少考虑的一件事。他们也在努力在 Docker 的远程 API 中实现远程身份验证,此时我很乐意这样做:)

    【讨论】:

      猜你喜欢
      • 2020-07-31
      • 1970-01-01
      • 2019-07-15
      • 2019-01-12
      • 2023-03-17
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多