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