Sajikan Internet ke mesin jarak jauh melalui sesi SSH?


19

Mesin yang saya gunakan SSHing ke mesin remote / host (jaringan / LAN yang sama) memiliki akses ke Internet tetapi tuan rumah tidak.

Menjalankan pembaruan dan menginstal paket pada host menjadi cukup merepotkan karena saya harus memulai proxy secara lokal dan kemudian mengkonfigurasi mesin remote untuk menggunakannya.

Jadi saya bertanya-tanya apakah ada cara yang lebih mudah untuk melakukan ini melalui, mungkin, SSH atau yang lainnya?

Saya memiliki kesadaran akan kompleksitas yang ada di dalam, tetapi ingin tahu.

Menggunakan plinkmelalui Emacs (jika itu penting).

Jawaban:


21

Mari kita sebut mesin yang memiliki akses internet hasinetdan yang tidak noinet.

Jika Anda dapat membuat koneksi SSH dari noinet ke hasinet

Anda dapat melakukan ini dengan mudah dengan proksi SOCKS bawaan OpenSSH. Perintah ini akan mengatur proxy SOCKS saat noinetmendengarkan di port 1080:

noinet$ ssh -D 1080 hasinet

Jika Anda hanya dapat membuat koneksi SSH ke noinet dari hasinet

Anda dapat menjalankan proxy SOCKS OpenSSH hasinetdan kemudian meneruskan port dari noinetke hasinet. Ini secara cerdik dapat dilakukan dengan satu perintah seperti itu (terima kasih @Patrick):

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

Cara menggunakan proxy SOCKS

Cara Anda menggunakan proxy ini akan bergantung pada aplikasi. Beberapa aplikasi memiliki dukungan untuk proxy SOCKS bawaan. Jika itu masalahnya, Anda harus mengonfigurasi aplikasi Anda untuk menggunakan proxy localhost:1080. Jika tidak, Anda dapat menggunakan rantai proxy atau redsocks, seperti yang disarankan @surus. tsocks adalah solusi yang lebih ringan jika Anda hanya perlu menyediakan akses jaringan untuk beberapa perintah.


1
Daripada harus menginstal proxy kaus kaki pada hasinet ketika noinet perlu keluar, cukup ssh -t -D 1080 localhost ssh -R 1080:localhost:1080 noinet(ya satu perintah).
Patrick

2

Inilah cara untuk melakukan ini melalui SSH:

Pada mesin tanpa akses internet, jalankan

ssh -D 8080 machine_with_internet_access

Anda dapat mengganti 8080 dengan nomor port yang tidak digunakan,

Kemudian instal software seperti proxychains atau redsocks , configure mereka untuk terhubung ke localhost: 8080 , dan menjalankan perangkat lunak yang akses kebutuhan internet melalui mereka.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.