Próbuję zrozumieć różnicę między „przekierowaniem portów lokalnych” a „dynamicznym przekierowaniem portów”.
Czy w poleceniu ssh dotyczącym „przekierowania portu lokalnego” zawsze wymagane jest określenie hosta docelowego?
Czy „dynamiczny” w „dynamicznym przekierowaniu portów” oznacza, że w poleceniu ssh dla „dynamicznego przekierowania portów” nie ma potrzeby określania hosta docelowego? jeśli tak, kiedy określono miejsce docelowe?
ssh
port-forwarding
Tim
źródło
źródło
Odpowiedzi:
Tak, musisz podać docelowy adres IP i port podczas korzystania z lokalnego przekazywania. Od
man ssh
:Oczywiście tylko adres powiązania jest opcjonalny.
Nie, nie można określić docelowego hosta lub portu podczas korzystania z dynamicznego przekazywania. W przypadku przekazywania dynamicznego SSH działa jako serwer proxy SOCKS. Ponownie z manpage (moje podkreślenie):
Dzięki
-L
SSH nie próbuje zrozumieć ruchu. Po prostu wysyła wszystko, co odbiera z portu lokalnego do portu docelowego - określasz port docelowy w momencie nawiązania połączenia. Dzięki-D
SSH działa jak serwer proxy, a zatem może obsługiwać połączenia z wielu portów (na przykład przeglądarka skonfigurowana do używania go jako proxy SOCKS może uzyskać dostęp do HTTP, HTTPS, FTP itp. Przez to samo połączenie). I podobnie jak w przypadku innych serwerów proxy, wykorzysta ruch do ustalenia miejsca docelowego.źródło
-D
to ma się, aby zrozumieć, gdzie wysłać dane.Innym sposobem na poznanie tej koncepcji byłoby przyjrzenie się, w jaki sposób klient łączy się z klastrem amazonu elastycznej mapy (Amazon EMR). EMR ma wiele lokalnych aplikacji, które udostępnia, i są one zwykle dostępne za pośrednictwem tuneli SSH.
Istnieją 2 opcje dla klienta: A) Polecenie SSH przekierowania portu lokalnego: ssh -i key.pem -L 8157: abcd: 8088 hadoop @ abcd
Tutaj klient mówi na przykład, że 8157 na localhost zostaje przekierowany na abcd: 8088 Klient musi wysłać zapytanie do localhost: http: // localhost: 8157 Inne aplikacje mogą nasłuchiwać na portach takich jak 8089,8090, a klient musi nawiązywać połączenia ssh dla każdego z nich.
B) Dynamiczne przekierowanie portów W tym przypadku używana jest jedna komenda SSH: ssh -i key.pem -D 8157 hadoop @ abcd
Cały ruch wchodzący na port 8157 będzie kierowany przez tunel ssh. Miejsce docelowe ruchu będzie miejscem docelowym adresu URL. Na przykład możesz użyć klienta proxy na swoim serwerze i przekierować niektóre http URI, aby użyć proxy. Możesz uzyskać dostęp do wszystkich aplikacji na 8089,8090 za pomocą jednego polecenia.
W celach informacyjnych zapoznaj się z tym dokumentem: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html
źródło