设置:

  • 我的电脑(linux/unix)有一个任意的IP地址
  • 我可以连接到具有静态 ip
  • 的中央 linux 服务器
  • 远程 linux 系统设置为仅响应端口 22
  • 上的中央服务器 IP 地址

    我想通过中央服务器进行端口转发,这样我就可以使用 MySQLWorkbench 并在端口 3306 上与远程系统建立 python 脚本连接。

    理想情况下,我想要 ssh 的语法命令使端口转发工作;

    假设我想将本地端口 3307 转发到远程系统上的 3306。假设我的 ip 是 x.x.x.x ,中心服务器IP为 y.y.y.y ,远程系统IP为 z.z.z.z ;

    我认为这与 ssh -L 有关但到目前为止我只能转发到中央服务器。也许我需要连接到中央服务器,在那里设置转发,然后在我的机器上设置转发?我认为存在使用 ssh 使用单个命令执行此操作的功能。 .

    如果这是重复的,则不应将其标记为这样,因为不知道要搜索什么神奇关键字,就找不到重复;

    澄清:远程服务器上未打开端口 3306。只有 22

    请您参考如下方法:

    ssh -L :3307:z.z.z.z:3306 user@y.y.y.y -Nf 
    

    工作正常

    或者
    ssh -L 3307:z.z.z.z:3306 user@y.y.y.y  -Nf 
    

    只绑定(bind)到 x.x.x.x的本地主机

    第一个示例绑定(bind)到所有接口(interface)

    编辑...

    刚刚看到 z.z.z.z只开放了 22 端口。

    y.y.y.y您还需要打开一个本地端口

    在 y.y.y.y 上运行
    ssh -L 3307:localhost:3306 user@z.z.z.z -Nf 
    

    然后在 x.x.x.x
    ssh -L 3307:localhost:3307 user@y.y.y.y -Nf 
    

    在屏幕中运行这些命令以获得最佳结果

    您实际上可以将这两个命令压缩在一起
    ssh -L 3307:localhost:3307 user@y.y.y.y -f 'ssh -L 3307:localhost:3306 user@z.z.z.z -Nf' 
    


    评论关闭
    IT序号网

    微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!