Ssh
SSH 隧道已連接但無法 git clone
我相信這是一個相當簡單的問題,但從表面上看,我確信它沒有“錯誤”。
我正在嘗試從我的 linux 機器通過 ssh 隧道進入可以訪問我的 VPN 的 OSx 機器。
設置隧道
hutber@hutber ~ $ ssh -L 3333:github.someprivateurl.net:22 hutber@192.168.1.18 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://git@github.someprivateurl.net/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://git@github.someprivateurl.net:3333/POC05Mortgages/mortgages-ui.git Cloning into 'mortgages-ui'...
我的 linux 機器上的上述複製將掛起,直到連接意識到它無權訪問並將我拋出。
如何在 ssh 進入 OSx 的同時在我的 linux 機器上複製 repo?
編輯
我不確定這有多大幫助……但我無法訪問我試圖複製的網站,所以它顯然與 git 無關:
作業系統
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
設置 SSH 隧道時,您指定到本地主機上指定埠的連接將通過您要連接的 SSH 伺服器轉發到指定的遠端主機和埠。因此,要使用隧道,您必須將流量發送到
localhost:port
. 在您的情況下,如果我正確讀取您的命令的輸出,它應該很簡單:git clone ssh://git@localhost:3333/POC05Mortgages/mortgages-ui.git
當然,假設隧道已建立。
我不會太擔心 ping 失敗。許多機器或網路被配置為拒絕 ICMP 流量,即使它們接受其他流量。在您不確定的情況下,使用類似
tcptraceroute
或hping
可以使用 TCP 而不是 ICMP 執行網路診斷的工具通常很有用。順便說一句,在您的 Linux 機器的 ping 輸出中列出了一個公共 IP。您可能想要編輯它。