发布
社区首页 >问答首页 >未工作的python ssh隧道端口转发

未工作的python ssh隧道端口转发
EN

Stack Overflow用户
提问于 2022-06-08 03:06:08
回答 1查看 116关注 0票数 0
代码语言:javascript
代码运行次数:0
复制
  my-pc                 ssh-server         another-app-server
-----------------------------------------------------------------------
 127.0.0.1:12345 ----> x.x.x.x:22  ---->  y.y.y.y:8080 [only accessed by ssh-server]  

实际上,我想这样做,并且我的-pc运行windows10。

代码语言:javascript
代码运行次数:0
复制
from sshtunnel import SSHTunnelForwarder
from time import sleep
with SSHTunnelForwarder(
    (x.x.x.x),
    ssh_username=MY_SSH_SERVER_USER,
    ssh_private_key=MY_KEY_PATH,
    remote_bind_address=(y.y.y.y, 8080),
    local_bind_address=('127.0.0.1', 12345)
) as server :
server.start()
sleep(60)

当我运行时,它总是告诉我ERROR | Problem setting SSH Forwarder up: Couldn't open tunnel 127.0.0.1:12345 <> y.y.y.y:8080 might be in use or destination not reachable ....,并且我使用下面的代码,它是工作的。

代码语言:javascript
代码运行次数:0
复制
from sshtunnel import SSHTunnelForwarder
from time import sleep
with SSHTunnelForwarder(
    (x.x.x.x),
    ssh_username=MY_SSH_SERVER_USER,
    ssh_private_key=MY_KEY_PATH,
    remote_bind_address=(y.y.y.y, 8080),
) as server :
server.start()
print(server.local_bind_port) # RANDOM PORT !! I HATE RANDOM!!
sleep(60)

但是我只想要绑定12345作为端口(我确信它现在已经被使用了),我能做什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-08 04:13:57

要检查端口12345是否已经使用,请执行以下操作:

代码语言:javascript
代码运行次数:0
复制
netstat -aof | findstr :12345

如果该命令返回任何进程,这意味着它正在使用中。您可以换到其他端口,如500010803000等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72539580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档