我正在尝试使用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)
希望能帮助到你,