sshtunnel

Python 的 SSH 通讯隧道
授权协议 MIT
开发语言 Python
所属分类 服务器软件、 终端服务器/远程连接
软件类型 开源软件
地区 不详
投 递 者 鲁鸿
操作系统 Linux
开源组织
适用人群 未知
 软件概览

sshtunnel 是 Python 开发的一个服务,用来与远程服务器建立 SSH 通讯隧道。

示例代码:

from sshtunnel import SSHTunnelForwarder

server = SSHTunnelForwarder(
    'pahaz.urfuclub.ru',
    ssh_username="pahaz",
    ssh_password="secret",
    remote_bind_address=('127.0.0.1', 8080)
)

server.start()

print(server.local_bind_port)  # show assigned local port
# work with `SECRET SERVICE` through `server.local_bind_port`.

server.stop()
  • 环境 win10_x64 centos7 python37 模块 sshtunnel pip3 install sshtunnel 这里的pip3是因为本人电脑同时安装了python2和python3,根据你的电脑安装实际情况输入相应的下载命令 调用模块 #!/usr/bin/python # -*- coding: UTF-8 -*- # author: liuqin # date: 2020-

  • 我正在尝试使用sshtunnel中的MySQLdb和python2.7来隧道连接并面临以下问题: 我用Sequel Pro连接mysql没关系,但是python代码没有用! Sequel Pro是这样的: 和代码是这样的: `from sshtunnel import SSHTunnelForwarder import MySQLdb with SSHTunnelForwarder( ('2.2.

  • 长连接:长连接是相对于短连接来说的。长连接指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。mysql的长连接如果长期闲置,mysql会8小时后(默认时间)主动断开该连接。 短连接:是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。 超过默认连接时间,导致连接断开,所以可以隔段时间访问一次服务端,告

  • 声明:本博客是一次开发中的随记,供自己和大家可以参考。 准备: 主要模块 sshtunnel,  pip install sshtunnel 其余模块 pymysql,playhouse,configparser 简介:这里用的是数据库连接池和自动的链接断开重连机制,其实最主要的就是sshtunner的建立,所以可以只看service建立的 部分 配置文件: [mysql] database=ad

  • pymysql 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb(这货只支持python2)。 通常我们通过有一台有外网并且和MYSQL同一个内网的机器去管理MYSQL 参考:https://www.cnblogs.com/luyingfeng/p/6386093.html 首先安装模块 pip3 install pymysql pip3

  • with SSHTunnelForwarder ( ssh_address_or_host = (conf.server_ip,conf.server_port), ssh_username=conf.server_uname, ssh_password=conf.server_pwd, remote_bind_address=(dn

  • 背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作。   安装 pip3.6 install sshtunnel   使用 sshtunnel 跳转登录数据库 链接postgresql,其他数据类似 # FileName : pgconn.py # Author :

  • 涉及库:pymysql、sshtunnel 涉及数据库:MySQL 有时候(常常是工作中),涉及的数据库都是放在远程服务器上的,这个时候我们不能直接进行访问,得需要一个跳板来进行连接访问。 配置如下: 数据库所在远程服务器IP:IP_C 数据库所在远程服务器端口:Port_C 跳板机(通过ssh通道)所在服务器IP:IP_B 跳板机(通过ssh通道)所在服务器I端口:Port_B(22默认) 跳

  • 需要用到的模块:sshtunnel,paramiko 通过sshtunnel建立客户端与跳板机的隧道,然后再通过paramiko链接服务器即可 常见配置如下: import paramiko from sshtunnel import SSHTunnelForwarder with SSHTunnelForwarder (     ('跳板机IP',port1),     ssh_username

  • 背景:   公司使用阿里云的云数据库MongoDB。基于安全原因考虑,阿里云MongoDB云数据库目前只支持从阿里云ECS上访问,无法通过公网直接访问,不方便用户在本地开发环境里直接进行测试。   阿里云官方推荐使用rinetd搭建跳板系统,实现公网访问云mongo。使用过程中,发现,python程序在使用过程中如果没有正确释放连接,即使python程序退出后,该mongo连接仍然被rinetd占

  • 一、功能 访问数据库 数据库需要远程通过SSHTunnel访问 二、实现 import pymysql from sshtunnel import SSHTunnelForwarder sshServerB_ip = '192.168.3.126' sshServerB_port = 22 sshServerB_usr = 'root' sshServerB_pwd = 'root' datab

  • 访问数据时,需要通过ssh跳转,python脚本中可以引入sshtunnel模块,先连接跳板机,再建立数据库连接,实现python访问数据库。直接上代码,方便你我他!需要的同学可以参考。 1.连接ssh后连接数据库 import sshtunnel import pymysql import time sshtunnel.TUNNEL_TIMEOUT =60000 class SSH_to_Mys

  • from PyMySQL import pymysql from sshtunnel import SSHTunnelForwarder import sshtunnel import paramiko # 正常链接 # db=pymysql.connect(host='192.xxx.xxx.xx', # user='sale', #

 相关资料
  • 问题内容: 我的目的是连接到位于防火墙后面的服务器(主机)。我可以通过连接到网络中的另一台服务器(隧道)然后通过SSH到该服务器来访问此服务器。但是,我无法通过JSch实现相同的方案。 我无法为此编写以下代码。如果我在这里做任何愚蠢的事情,请告诉我。 上面的代码在行中给出了以下异常。 问题答案: jsch上的代理设置允许您连接到远程端上 正在运行的 代理服务器。一个在远程端将 不 被视为一个代理。

  • 我想使用RazorSQL连接到我的数据库,该数据库正在远程服务器上运行。我使用以下命令在本地主机上创建SSH隧道: 我通过RazorSQL的GUI配置连接,将本地主机指定为主机,将1111指定为端口。当我单击“Connect”(连接)时,出现以下错误消息: 其中是远程服务器的IP地址。 此外,我不允许更改我的pg_hba的内容。conf文件。这就是目前的情况: 是否可以使用我当前的设置,在不修改服

  • 问题内容: 我已经在两个服务器 A 和 B 之间建立了SSH隧道。 B 有MySQL服务器,这可行: 虽然这不是: 尽管my.cnf具有以下几行: 现在关于隧道。它连接以下内容: 但是当(在 A上 ,端口转发)时,我会 我懂了 当我这样做 我懂了 可能是什么原因?我究竟做错了什么? 问题答案: 这里有三个问题。 1-暂时忘记SSH隧道 您不能将MySQL绑定到多个特定IP。第一个子句被第二个子句覆

  • 我想通过SSH隧道访问jupyter笔记本,并遵循以下方法 要总结-: 1.登录远程机器 2.在新航站楼: 3.然后转到浏览器,然后转到 现在我的问题是:我只能在两个步骤中访问远程机器 jupyter笔记本电脑只安装在我的电脑上。 当我用较长的登录过程替换第一步的第一行时,第二步应该写什么? 当我插入remote_user=username和remote_user=my_pc_name时,我从ju

  • 我正在阅读SSH隧道-本地和远程端口转发示例说明 关于本地转发,可以使用 我不明白的是username@example.com。example.com应该是什么? 在我的环境中,我运行一台服务器,在host1的8888端口上侦听,在host2中我运行 访问host2:9999,我将进入登录页面。如果我改变myname@host1到myname@host2即使myname@host3,我也可以进入登

  • 问题内容: 我想用Java创建SSH隧道。我在另一篇文章中注意到了很多Java SSH库。在深入研究每个选项之前,也许有人可以给我一些代码片段,说明他们如何做到的,或者至少告诉我哪个客户端库效果最好。 我只需要隧道。我不需要诸如文件传输,终端仿真等之类的东西。是否有简单的几行代码可以转发服务器上的端口以在客户端的本地主机适配器上工作?理想情况下,客户端和服务器都应使用Java,但现在我只选择客户端

  • 我有两台机器:machine foo()运行redis服务器,而machine bar()运行通过Jedis连接到foo的java应用程序。当给jedis提供地址时,一切都很好。 但是我不信任foo和bar之间的路由器,redis也不支持SSL。因此,我设置了一个从bar到foo:的ssh隧道 现在,从bar中,我可以直接在或通过隧道在成功地telnet到foo上的redis。对于jedis,如果

  • 问题内容: 我最近开始学习Hibernate技术,不得不使用Hibernate从数据库中获取数据。问题是我只能通过SSH隧道连接到数据库。我可以在文件中使用任何属性来解决此问题吗?或者,您可以建议另一种新手可以理解的方式。 问题答案: 也许使用Jsch。一些示例可以为您提供解决之道。 另一种方法是使用HTTP代理处理程序和端口转发功能来实现自己的SSH SocketFactory。起点可以是: 您