SOCKS a przekierowanie lokalnego portu SSH

17

Jaka jest różnica między używaniem SOCKS (SSH -D) a lokalnym przekierowaniem portów (SSH -L)

lisa17
źródło
Pomocna

Odpowiedzi:

23

Za pomocą -LSSH przekazuje wszystkie połączenia do stałego miejsca docelowego. Po podłączeniu do portu lokalnego wszystkie wysyłane dane trafiają prosto do zdalnego hosta, który podałeś -L. To oczywiście wymaga, abyś wiedział, do którego hosta chcesz przekazywać połączenia.

Adres -Ddocelowy jest „dynamiczny” - po podłączeniu do portu lokalnego należy użyć protokołu proxy SOCKS, aby dalej łączyć się z dowolnym wybranym hostem zdalnym. Zasadniczo sprawia, że ​​SSH jest prawdziwym serwerem proxy, odpowiednim do takich działań, jak przeglądanie stron internetowych, w których nie można z góry poznać miejsca docelowego.

Uruchom ssh -D 1080na przykład i skonfiguruj Firefoksa, aby korzystał z serwera proxy SOCKS 5 pod adresem localhost:1080.

użytkownik1686
źródło
2
Często używam, ssh -D 8080 myhomecomputergdy korzystam z laptopa w publicznej sieci Wi-Fi.
Evan Krall,
2
@EvanKrall Czy korzyścią takiego podejścia jest fakt, że cały ruch (przy założeniu, że aplikacje rzeczywiście używają proxy SOCKS) będzie szyfrowany przez twoje połączenie SSH (tzn. Nie będzie żadnych żądań w postaci zwykłego tekstu )? W jaki sposób można się upewnić, że cały ruch jest przesyłany przez serwer proxy? Czy istnieje zalecany sposób, aby to zrobić dla wszystkich aplikacji?
blong
1
@blong: Zalecanym sposobem byłoby użycie połączenia VPN obejmującego cały system operacyjny.
user1686
Ach, rozumiem, dzięki @grawity. Myślałem, że może to być coś, co można zaimplementować bez klienta VPN :)
blong