ssh -D
może zrobić port skarpet na lokalnym komputerze, który przekazuje ruch do zdalnego, a następnie do innych miejsc.
ssh -L port:host:hostport
, nasłuchuj portu na komputerze lokalnym, przekaż ruch do „host: hostport” z punktu widzenia komputera zdalnego.
ssh -R port:host:hostport
jest odpowiednikiem ssh -L
portu nasłuchującego na zdalnym komputerze i przekazuje ruch do „host: hostport” z punktu widzenia komputera lokalnego.
Ale jaki jest odpowiednik ssh -D
, tj. Jak otworzyć port skarpet na zdalnej maszynie, który przekaże ruch do lokalnego, a następnie do innych miejsc?
networking
ssh
tunnel
ssh-tunnel
socks
Jagoda
źródło
źródło
Odpowiedzi:
Za pomocą
-D
&-L
masz sposób komunikowania się w obie strony między dwiema maszynami.Więc...
-R
aby utworzyć port nasłuchiwania na komputerze zdalnym skierowanym na sshd komputera lokalnego.-D
na zdalnym komputerze, wskazując na port, który utworzyłeś powyżej.„Myślę, że” wypełnienie poniższego spowoduje, że będzie działać ...
ssh remotehost -R remoteport:localhost:localport "ssh -D 9050 localhost -p remoteport"
„
remotehost
”, „remoteport
” i „localport
powyżej” wymagają zmiany. Pełnomocnik ds. Skarpet zostanie utworzony w 9050 r.źródło
Można go uzyskać w przejrzysty sposób za pomocą tego fragmentu w ~ / .ssh / config:
Detale
Chcemy odwrócić DynamicForward. Osiąga się to za pomocą dwóch poleceń ssh:
ssh -D 3128 localhost
ssh -R 3128:localhost:3128 target
W ten sposób cel ma tunel SOCKS do klienta SSH.
Zastosowałem klasyczny sposób łączenia ssh, aby osiągnąć zdalny cel przez hosty pośrednie, aby tworzenie tunelu SOCKS było obsługiwane w sposób przejrzysty podczas logowania do celu. Pierwsza sztuczka ProxyCommand + nc jest obowiązkowa, ponieważ -W oznacza ClearAllForwardings.
źródło
Nie ma możliwości zapewnienia tunelu odwrotnych skarpet w OpenSSH, dlatego należy uruchomić komendę ssh udostępniającą proxy skarpet na „zdalnej” maszynie.
Jeśli maszyna zdalna nie może ssh do komputera lokalnego, najpierw utwórz połączenie ssh z lokalnego do zdalnego, które przekazuje port 22 do np. 2222. Następnie maszyna zdalna może ssh do komputera lokalnego na porcie 2222.
źródło
od OpenSSH 7.6
ssh (1): dodaj obsługę wstecznego dynamicznego przekazywania. W tym trybie ssh będzie działać jako serwer proxy SOCKS4 / 5 i przekaże połączenia do miejsc docelowych żądanych przez zdalnego klienta SOCKS. Ten tryb jest wymagany przy użyciu rozszerzonej składni opcji -R i opcji RemoteForward, a ponieważ jest implementowany wyłącznie na kliencie, nie wymaga aktualizacji serwera do obsługi.
https://www.openssh.com/txt/release-7.6
źródło
ssh -R 127.0.0.3:1080 remote
), można obecnie wiążą odwrotnego proxy SOCKS tylko z portem.