Jawaban sebelumnya menyebutkan bagaimana menggunakan direktif ProxyJump (ditambahkan dalam OpenSSH 7.3) untuk terhubung melalui server perantara (biasanya disebut sebagai bastion host), tetapi menyebutkannya hanya sebagai argumen baris perintah.
Kecuali jika itu adalah mesin yang tidak akan Anda sambungkan di masa depan, hal terbaik adalah Anda mengonfigurasikannya ~/.ssh/config
.
Saya akan meletakkan file seperti:
Host office-machine
Hostname yochay-machine.internal.company.local
ProxyJump bastion-machine
Host bastion-machine
Hostname organization-server.company.com
...
Jika Anda menggunakan versi OpenSSH sebelumnya yang tidak mendukung ProxyJump, Anda akan menggantinya dengan yang setara:
ProxyCommand ssh -W %h:%p bastion-machine
dan jika versi ssh lokal Anda benar-benar kuno yang tidak mendukung -W
:
ssh bastion-machine nc %h %p
meskipun yang terakhir ini mensyaratkan bahwa mesin benteng telah nc
diinstal.
Keindahan ssh adalah Anda dapat mengkonfigurasi setiap tujuan pada file, dan mereka akan menumpuk dengan sangat baik. Dengan demikian Anda akhirnya bekerja dengan office-machine
sebagai hostname pada semua alat (ssh, scp, sftp ...) karena mereka terhubung langsung, dan mereka akan mencari cara untuk menghubungkan berdasarkan ssh_config. Anda juga dapat memiliki wildcard ingin Host *.internal.company.local
membuat semua host berakhir seperti itu melalui benteng tertentu, dan itu akan berlaku untuk semuanya. Setelah dikonfigurasi dengan benar, satu-satunya perbedaan antara melakukan satu koneksi hop atau dua puluh akan menjadi waktu koneksi yang lebih lambat.