Podawać Internet do zdalnego komputera za pośrednictwem sesji SSH?


19

Komputer, przez który przesyłam SSHing do komputera zdalnego / hosta (ta sama sieć / sieć LAN) ma dostęp do Internetu, ale host nie.

Uruchamianie aktualizacji i instalowanie pakietów na hoście staje się dość niewygodne, ponieważ wtedy muszę uruchomić proxy lokalnie, a następnie skonfigurować zdalny komputer, aby go używał.

Zastanawiałem się więc, czy istnieje łatwiejszy sposób na zrobienie tego za pośrednictwem SSH lub czegoś innego?

Zdałem sobie sprawę z zawiłości, które w sobie leżą, ale byłem ciekawy, aby wiedzieć.

Używanie plinkprzez Emacsa (jeśli to ważne).

Odpowiedzi:


21

Zadzwońmy na maszynę, która ma dostęp do Internetu, hasineti tę, która nie ma noinet.

Jeśli możesz nawiązać połączenie SSH od noinet do hasinet

Możesz to zrobić z łatwością dzięki wbudowanemu serwerowi proxy SOCKS w OpenSSH. To polecenie skonfiguruje serwer proxy SOCKS podczas noinetnasłuchiwania na porcie 1080:

noinet$ ssh -D 1080 hasinet

Jeśli można zrobić tylko połączenia SSH do noinet od hasinet

Możesz uruchomić OpenSSH proxy SOCKS na, hasineta następnie przekierować port z noinetdo hasinet. Można to sprytnie zrobić za pomocą takiego polecenia (dzięki @Patrick):

hasinet$ ssh -D 1080 localhost -t ssh -R 1080:localhost:1080 noinet

Jak korzystać z proxy SOCKS

Sposób korzystania z tego serwera proxy zależy od aplikacji. Niektóre aplikacje mają wbudowane wsparcie dla serwerów proxy SOCKS. W takim przypadku musisz skonfigurować aplikację tak, aby korzystała z serwera proxy localhost:1080. Jeśli nie, możesz użyć proxy lub redsocks, jak sugeruje @sciurus. tsocks jest lżejszym rozwiązaniem, jeśli potrzebujesz tylko dostępu do sieci dla niektórych poleceń.


1
Zamiast instalować proxy proxy na hasinet, kiedy noinet musi się wydostać, wystarczy ssh -t -D 1080 localhost ssh -R 1080:localhost:1080 noinet(tak, jedno polecenie).
Patrick

2

Oto sposób, aby to zrobić za pośrednictwem SSH:

Uruchom urządzenie bez dostępu do Internetu

ssh -D 8080 machine_with_internet_access

Możesz wymienić 8080 dowolnym nieużywanym numerem portu,

Następnie zainstaluj oprogramowanie, takie jak proxy lub redsocks , skonfiguruj je tak, aby łączyło się z hostem lokalnym: 8080 i uruchom oprogramowanie, które wymaga dostępu do Internetu za ich pośrednictwem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.