SSH 隧道已连接但无法 git clone

SSH 隧道已连接但无法 git clone

我相信这是一个相当简单的问题,但从表面上看,我确信它不是“错误的”。

我正在尝试从我的 Linux 机器通过 ssh 隧道接入可以访问我的 VPN 的 OSx 机器。

建立隧道

hutber@hutber ~ $ ssh -L 3333:github.someprivateurl.net:22 [email protected]
Password:
Last login: Thu Jun  7 01:00:34 2018 from 192.168.1.3
hutber@Jamies-Mac ~ $ 
hutber@Jamies-Mac ~/www/jamie $ git clone ssh://[email protected]/POC05Mortgages/mortgages-ui.git
Cloning into 'mortgages-ui'...
remote: Counting objects: 63823, done.
remote: Compressing objects: 100% (52/52), done.
^Cfatal: The remote end hung up unexpectedlyMiB | 8.44 MiB/s  

^ 只是为了显示当通过 ssh 进入 OSx 时我能够在这台机器内进行克隆。

进入隧道

hutber@hutber /var/www $ git clone ssh://[email protected]:3333/POC05Mortgages/mortgages-ui.git


Cloning into 'mortgages-ui'... 

我的 Linux 机器上的上述克隆将挂起,直到连接意识到它无权访问并将我赶出去。

我怎样才能在通过 ssh 进入 OSx 的同时克隆我的 Linux 机器上的 repo?

编辑

我不确定这有多大帮助...但我无法访问我尝试克隆的站点,所以这显然与 git 无关:

OSx

hutber@Jamies-Mac ~/www/jamie $ ping github.someprivateurl.net
PING github.someprivateurl.net (10.113.188.195): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
^Z
[1]+  Stopped                 ping github.someprivateurl.net

Linux

hutber@hutber /var/www $ ping -p 3333 github.someprivateurl.net
PATTERN: 0x3333
PING github.someprivateurl.net (159.34.88.181) 56(84) bytes of data.
From 172.16.24.82 icmp_seq=1 Time to live exceeded
From 172.16.24.82 icmp_seq=2 Time to live exceeded
From 172.16.24.82 icmp_seq=3 Time to live exceeded
From 172.16.24.82 icmp_seq=4 Time to live exceeded
^C
--- github.someprivateurl.net ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3004ms

答案1

当你设置 SSH 隧道时,你指定连接到当地的host 将通过您要连接的 SSH 服务器转发到指定的远程主机和端口。因此,要使用隧道,您必须将流量发送到localhost:port。对于您的情况,如果我正确读取了您的命令的输出,它应该很简单:

git clone ssh://git@localhost:3333/POC05Mortgages/mortgages-ui.git

当然,假设隧道已经建立起来。

我不会太担心 ping 失败。许多机器或网络配置为拒绝 ICMP 流量,即使它们接受其他流量。在不确定的情况下,使用或之类的工具通常很有用,tcptraceroute它们hping可以使用 TCP 而不是 ICMP 运行网络诊断。

顺便说一句,您的 Linux 机器的 ping 输出中列出了一个公共 IP。您可能想删除它。

相关内容