Untuk situasi sekali saja, atau kadang-kadang, pendekatan ProxyCommand mudah yang sangat nyaman.
Di sisi lain, jika Anda memerlukan beberapa koneksi simultan, atau ketika mungkin Anda perlu sering menggunakan perintah itu untuk pekerjaan sehari-hari, Anda mungkin juga mempertimbangkan untuk menetapkan aturan network-address-translation (NAT) di server Anda.
Ini membutuhkan akses superuser (biasanya root
) di server Anda untuk terlebih dahulu menerapkan aturan NAT tunggal. Perhatikan bahwa mungkin sama sekali tidak diizinkan (atau efektif) untuk menerapkan aturan NAT, bahkan ketika Anda memiliki akses superuser, jika "server" Anda sebenarnya adalah sebuah wadah (seperti Docker) alih-alih mesin.
Berbicara tentang sistem Linux khas dengan iptables
suite tersebut, aturan NAT untuk diterapkan pada server1 Anda untuk contoh case Anda bisa seperti:
iptables -t nat -I POSTROUTING -d <server2-ip-address> -p tcp --dport <server2-port> -j SNAT --to :33101-33109
Perintah yang menginstruksikan kernel Linux untuk membuat sambungan menuju pelabuhan server2-port dari server2-ip-address untuk pergi keluar dengan menggunakan port sumber yang dipilih dalam kisaran 33.101-33.109 yang tersedia pada saat itu.
Setelah aturan itu diberlakukan, Anda terhubung ke server2 Anda seperti biasa:
ssh username@server2 -p remote_port
dan Anda dapat menggunakan ssh
perintah yang sama ini juga secara bersamaan sebanyak yang Anda butuhkan, selama ada port yang tersedia dalam kisaran yang ditentukan dalam aturan NAT.
Namun perlu dicatat bahwa netstat
(atau perintah yang setara) berjalan di server Anda melaporkan alamat lokal koneksi sebagai nomor port sumber yang tidak dimodifikasi , dipilih secara acak meskipun lalu lintas aktual yang dikirim ke server Anda2 membawa nomor port sumber yang dimodifikasi .
Untuk membatalkan aturan NAT, perintahnya sama kecuali untuk -D
opsi di tempat -I
.
Untuk menerapkan aturan NAT secara otomatis saat boot tergantung pada distribusi Linux apa yang Anda miliki di server Anda, dan apakah sudah ada konfigurasi firewall di tempatnya atau tidak.
Saya tidak punya pengalaman dengan sistem seperti BSD, tapi saya percaya ada yang setara.