Saya akan mengerahkan sejumlah mesin dalam waktu dekat yang akan berada di belakang router. Tidak mungkin untuk membuat DNS dinamis pada setiap router dan penerusan port, jadi apakah ada cara saya dapat mengkonfigurasi mesin ini untuk memulai koneksi TCP ke komputer saya dan kemudian meminta komputer saya memulai koneksi SSH ke komputer jarak jauh melalui koneksi itu?
YAITU:
COMPUTER A OPENS TCP CONNECTION TO COMPUTER B
COMPUTER B OPENS SSH CONNECTION OVER THE EXISTING TCP CONNECTION TO COMPUTER A
COMPUTER B NOW HAS SSH CONNECTION TO COMPUTER A
Apakah ini mungkin, dan jika demikian, bagaimana saya bisa melakukannya?
Jawaban:
Dalam
/etc/ssh/sshd
untuk set B Komputer :Dari Komputer A :
Dari Komputer B :
Perhatikan bahwa 2222 adalah nomor port-tinggi sewenang-wenang yang saya pilih. Port pada Komputer B kemudian akan disalurkan kembali melalui koneksi SSH yang diinisialisasi pada Komputer A ke port 22. Jika Anda memiliki beberapa mesin, Anda harus menggunakan port yang berbeda untuk setiap mesin.
Untuk kasus penggunaan Anda, Anda mungkin ingin menjalankan ini dari skrip sehingga Anda dapat menjadikannya sebagai daemon dan secara berkala mencoba menyambung kembali jika tautannya jatuh. Anda mungkin ingin akun khusus dengan cangkang
/bin/true
di Komputer B untuk menangani koneksi yang masuk. Anda kemudian dapat mengatur satu tombol atau beberapa kunci untuk setiap mesin yang diizinkan untuk "menelepon ke rumah".Pada Komputer A Anda mungkin menemukan
-n
,-N
dan-T
opsi berguna untuk memutuskan sambungan dari input lokal (sehingga dapat berjalan di latar belakang), tidak mencoba menjalankan perintah jarak jauh, cukup buka terowongan, dan tidak membuat tty.Sebagian besar metode normal untuk memunculkan daemon tidak berfungsi dengan baik dengan mengatur terowongan jaringan seperti ini. Masalah dalam konektivitas jaringan akan membuatnya mencoba untuk mengalahkan dinding untuk bisa melewati. Lingkaran sederhana dengan tidur menunggu harus melakukan trik. Sepuluh menit adalah angka yang bagus karena tidak membanjiri jaringan dan mencatat file dengan upaya jika ada masalah (seperti Komputer B sedang offline) tetapi masih membuat Anda kembali dengan cepat jika koneksi terputus.
Sebuah skrip seperti itu dapat dijalankan diluncurkan saat boot
/etc/rc.local
. Perubahan pertama Anda untuk masuk ke mesin akan mulai sekitar sepuluh menit setelah Computer A melakukan booting.sumber
/etc/ssh/sshd_config