Mam trzy komputery.
PC1 i PC2 znajdują się w prywatnej sieci LAN, gdzie PC1 jest znany jako PC2 jako192.168.0.2
PC2 i PC3 znajdują się w innej sieci LAN, gdzie PC2 jest znany jako PC3 jako192.168.123.101
Jak mogę połączyć się z PC1 z PC3 za pomocą SSH.
Czy istnieje coś takiego:
ssh [email protected] -via [email protected]
Używając SSH istnieje jasne rozwiązanie:
na komputerze lokalnym skonfiguruj
~/.ssh/config
taki, aby miał:Zarówno na bramie, jak i na serwerze końcowym, z którym chcesz się połączyć, upewnij się, że klucze publiczne lokalnego klienta znajdują się w
~/.ssh/authorized_keys
Na komputerze-bramie należy zmienić
~/.ssh/authorized_keys
taki, aby na początku wiersza określającego klucz publiczny klienta dodać polecenie wymuszone w następujący sposób:Przekazanie
-A
agenta, jeśli nie chcesz ciągle wysyłać haseł ...W ten sposób za każdym razem, gdy zrobisz coś takiego
ssh WhatYouWillCallTheConnection
, przejdzie prosto przez bramę i połączy cię z serwerem po drugiej stronie w sposób przezroczysty.źródło
ssh -A
jeśli nie ufasz administratorowi maszyny bramy. Nie może uzyskać twojego klucza prywatnego, ale dopóki jesteś podłączony do bramyssh -A
, może on używać przekazanego agenta do łączenia się z innymi komputerami.Przekierowanie portów może się przydać.
Z PC1:
7777 może być dowolnym portem (pod warunkiem, że nie jest jeszcze używany). Po prostu podoba mi się ten numer plus wszelkie „zamawianie”, którym mogę zarządzać przez +1 (7778, 7779 itp.).
Po wykonaniu tej czynności będziesz mieć „przezroczysty” tunel z lokalnego portu PC1 7777 do portu 22 PC3. Po prostu problem:
I powinieneś być na PC3.
Możesz także użyć opcji -D, aby dynamicznie przekierować port, jeśli chcesz ustanowić proxy SOCKS.
Twoje zdrowie!
źródło
Odpowiedź 2017+ (od wersji ssh 7.3) na to ProxyJump :
ssh -J user@jumphost user@destination
, co jest skrótem od:
ssh -o "ProxyJump user@jumphost" user@destination
Można to skrócić
ssh dest
za pomocą~/.ssh/config
fragmentu jako takiego:źródło
Jedyne znane mi rozwiązanie to skrypty ssh z Belierem :
Jakiś czas temu znalazłem README.sshhop na stronie głównej MIT Lincoln Laboratory, ale nie byłem w stanie znaleźć dalszych informacji na ten temat. Czy ktoś wie więcej?
źródło