Назад | Перейти на главную страницу

Туннель SSH подключен, но git clone не удается

Я считаю, что это довольно просто, но на первый взгляд я уверен, что это не «неправильно».

Я пытаюсь подключиться к ssh-туннелю с моей Linux-машины на OSx-машину, которая имеет доступ к моему VPN.

Настройка туннеля

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'd в OSx, я могу клонировать на этой машине.

Доступ к туннелю

hutber@hutber /var/www $ git clone ssh://git@github.someprivateurl.net:3333/POC05Mortgages/mortgages-ui.git


Cloning into 'mortgages-ui'... 

Вышеупомянутый клон на моей Linux-машине будет зависать, пока соединение не поймет, что у него нет доступа, и не выбросит меня.

Как я могу клонировать репо на моем Linux-компьютере, пока ssh'd в OSx?

редактировать

Я не уверен, насколько это полезно ... Но я не могу получить доступ к сайту, который пытаюсь клонировать, поэтому очевидно, что это не имеет ничего общего с 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

Когда вы настраиваете SSH-туннель, вы указываете, что подключения к указанному порту на местный host должен быть перенаправлен на указанный удаленный хост и порт через SSH-сервер, к которому вы подключаетесь. Итак, чтобы использовать туннель, вы должны отправить трафик на localhost:port. В вашем случае, если я правильно читаю результаты ваших команд, это должно быть так просто, как:

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

Конечно, при условии, что туннель настроен.

Я бы не стал слишком беспокоиться о сбоях пинга. Многие машины или сети настроены на отклонение трафика ICMP, даже если они принимают другой трафик. В ситуациях, когда вы не уверены, часто бывает полезно использовать такой инструмент, как tcptraceroute или hping который может запускать сетевую диагностику с использованием TCP вместо ICMP.

Между прочим, в выводе команды ping с вашей Linux-машины указан общедоступный IP-адрес. Возможно, вы захотите отредактировать это.