【发布时间】:2021-03-12 20:26:24
【问题描述】:
我在本地机器上建立了一个 git 'user' 帐户。我能够从局域网和外部将它与 git clone git@localhost:repo/gitrep.git 一起使用为 git clone git@domain.com:repo/gitrep.git,其中 domain.com 是一个域名由 Dyndns 维护。我必须更改我的互联网调制解调器/路由器,并且在端口转发 domain.com 访问端口 22、443、80、3036 和 8080 后,因为它在旧路由器上,我可以从外部网络访问我的服务器,但不能从内部网络上的机器。我可以 ping 它,ssh 到 git 用户帐户,但 git 不会连接。我需要检查什么来确定问题?
【问题讨论】:
-
我们需要更多信息。它是如何失败的?会挂吗?您可以在调试模式下运行 sshd 吗?尝试收集一些数据。路由器是否还负责在您的本地网络上分配 IP 地址?是否分配了新的 IP 地址?
-
它只是挂起。 ssh -v 工作正常。这是内部失败的 git ssh 。最初我有一个静态 ip 并使用端口转发到该静态 ip,但新调制解调器不允许这样做。我从 DHCP 获取 ip,路由器说它是保留端口并转发给它。但仅限于外部。
-
您没有提到身份验证。 SSH 密钥?您是否使用任何特殊的软件来管理密钥和访问权限?
-
Git 本身实际上只是运行
ssh(以建立任何经过 ssh 身份验证的连接)。因此,如果 ssh 有效,Git 也应该如此。那么,这是一个难题。
标签: git ssh portforwarding