Menggunakan ProxyCommand
Lihat man ssh_config
. Saya sarankan memanfaatkan ProxyCommand
. Mari kita ambil skenario asli Anda:
- Komputer A (komputer Anda)
- Komputer B (nama host proxy)
- Komputer C (hanya dapat dijangkau melalui SSH dari Komputer B)
Edit ~/.ssh/config
dengan konten berikut.
Host computerb
HostName <hostname or IP of Computer B>
Host computerc 192.168.35.*
ProxyCommand ssh computerb nc -w 180 %h %p
Sekarang Anda akan dapat mencapai Komputer C. secara transparan
ssh computerc
Keuntungan dari metode ini
Lebih aman
Anda hanya perlu kunci pribadi Anda berada di Komputer A (komputer Anda). The nc
perintah akan bertindak sebagai proxy di mana SSH akan mengenkripsi lalu lintas melalui. Ini termasuk otentikasi. Merupakan ide yang sangat buruk untuk mendistribusikan kunci pribadi Anda ke beberapa server (karena setiap server yang dikompromikan dengan kunci pribadi Anda pada akhirnya akan mengkompromikan kunci pribadi Anda).
Cocok dengan Banyak tujuan
Satu dapat mencocokkan beberapa komputer tujuan menggunakan Host
. Komputer tunggal atau komputer apa pun dalam jaringan tertentu (misalnya 192.168.35.0/24
dalam contoh di atas) untuk mem-proxy melalui Komputer B. Ini juga berfungsi sebagai alias.
ssh 192.168.35.27
Pada contoh di atas, itu akan proksi melalui Komputer B untuk sampai ke alamat IP.
Proxy rantai daisy
Dengan menggunakan metode ini, Anda dapat membuat daisy chain sebanyak mungkin proksi otomatis. mis. Anda dapat menambahkan Komputer D yang hanya dapat dijangkau dari Komputer C dan akan berfungsi secara transparan.
Host computerd
ProxyCommand ssh computerc nc -w 180 %h %p
ssh computerd
akan secara otomatis mem-proxy melalui Komputer C dan Komputer B dalam ssh_config
contoh di atas .