静态 IP 后面的 SSH

静态 IP 后面的 SSH

抱歉,如果重复了,我只是找不到解决方案。场景 -

静态 IP 125.22.25.241,外界可以通过 ssh 访问。

本地 ip 10.0.0.6 - 包含 git 存储库的静态 ip 网络内的本地 PC。/home/game/foobar.git

我的问题是,如何从外部 IP 地址使用 git 命令直接与本地 PC 的 git 存储库交互。就像这样。

git push [email protected]:/home/game/foobar.git

答案1

您有两个选择。我的示例基于本机 Git 协议 TCP 端口9418,但也可以针对其他类型的存储库进行修改。如果您有一个使用 SSH 端口的存储库22并且它已被占用,则可以使用这两种方法中的任意外部端口。

  1. 配置您的路由器执行端口转发通过 NAT,即将外部 IP 地址和端口转换为内部组合,例如198.51.100.100:9418 -> 10.0.0.6:9418。(似乎使用几乎任何路由器配置端口转发都收集在同一个地方,尽管似乎有很多广告港口转运网。我更喜欢您设备的用户指南。)

  2. 创建一个SSH 隧道

    ssh -L 9418:10.0.0.6:9418 [email protected]
    

    ...并通过此隧道使用 Git:

    git push [email protected]:/home/game/foobar.git
    

答案2

获取 IPv6 静态子网。为主机分配一个静态地址并将其放入公共 DNS。在防火墙中允许 git 或 ssh 协议。

相关内容