Próbuję zrozumieć różnice między ssh -L a -D. Czy jest coś jeszcze oprócz tego -D to tylko skarpetki?
Dzięki!
Próbuję zrozumieć różnice między ssh -L a -D. Czy jest coś jeszcze oprócz tego -D to tylko skarpetki?
Dzięki!
ssh -L
otwiera port lokalny. Wszystko, co wysyłasz do tego portu, przechodzi przez połączenie ssh i przechodzi przez serwer. Jeśli to zrobisz, np. ssh -L 4444:google.com:80
Jeśli otworzysz http://localhost:4444
w przeglądarce, faktycznie zobaczysz stronę Google.
ssh -D
otwiera port lokalny, ale nie ma określonego punktu końcowego, jak w przypadku -L
. Zamiast tego udaje, że jest proxy SOCKS. Jeśli otworzysz, np. ssh -D 7777
Gdy powiesz przeglądarce, aby używała localhost:7777
jako proxy SOCKS, wszystko, czego żąda przeglądarka, przechodzi przez tunel ssh. Do publicznego Internetu to tak, jakbyś przeglądał z serwera ssh zamiast z komputera.
The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.
ssh -L 4444:google.com:80
nie działa dla mnie, wymaga innego parametru do zalogowania, np. uż[email protected]W SSH
-D
określa lokalne „dynamiczne” przekierowanie portów na poziomie aplikacji.Ponadto
ssh -L
określa, że dany port na hoście lokalnym (klienckim) ma być przekazany do danego hosta i portu po stronie zdalnej.źródło