加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Paramiko的端口转发

发布时间:2020-12-20 10:34:20 所属栏目:Python 来源:网络整理
导读:我正在尝试使用Paramiko从 python应用程序进行一些端口转发.我可以很好地设置SSH连接,但我对如何使用paramiko.Transport感到有点难过.我已经找到了 this file,但我无法弄清楚它里面发生了什么.从查看 paramiko.Transport docs,似乎单行使用open_channel函数,
我正在尝试使用Paramiko从 python应用程序进行一些端口转发.我可以很好地设置SSH连接,但我对如何使用paramiko.Transport感到有点难过.我已经找到了 this file,但我无法弄清楚它里面发生了什么.从查看 paramiko.Transport docs,似乎单行使用open_channel函数,但我无法弄清楚如何实现它.我正在尝试复制一个简单的ssh -L 8000:localhost:8000.

谁能帮我吗?

解决方法

请使用paramiko-1.7.7.1,pycrypto-2.6和 forward.py script找到一些代码,我从中将代码从第115行删除到最后(以避免选项解析).

import paramiko,sys
from forward import forward_tunnel

remote_host = "target_host"
remote_port = 8000
local_port  = 8000
ssh_host    = "my_ssh_host"
ssh_port    = 22

user     = "login"
password = "s3cr3t"

transport = paramiko.Transport((ssh_host,ssh_port))

# Command for paramiko-1.7.7.1
transport.connect(hostkey  = None,username = user,password = password,pkey     = None)

try:
    forward_tunnel(local_port,remote_host,remote_port,transport)
except KeyboardInterrupt:
    print 'Port forwarding stopped.'
    sys.exit(0)

我已经在Windows工作站上成功测试了它,使用Red Hat下的ssh服务器并指向第三台服务器. (我使用的是Python 2.7.2)

希望能帮助到你,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读