Saya bermain-main dengan gagasan memiliki SSH Proxy Server atau yang disebut Jump Host, yang akan saya gunakan untuk terhubung ke semua Server "tersembunyi" saya . Jadi pada dasarnya saya memiliki pengaturan berikut. Harap dicatat saya sengaja menggunakan alamat IP di sini alih-alih nama host.
<client> ---> <proxy_ssh> ---> <192.168.0.*>
Maksud saya adalah bahwa itu harus setransparan untuk pengguna mungkin. Jadi idealnya pengguna hanya perlu menjalankan perintah berikut
# ssh user@192.168.0.10
Agar ini berfungsi, saya telah membuat yang berikut ini .ssh/config
.
Host *
ServerAliveInterval 240
Compression yes
ForwardAgent yes
ForwardX11 yes
Host 192.168.0.*
ProxyCommand ssh my_user@proxy_ssh.example.com netcat -w 120 %h %p
Ini berfungsi dengan baik. Tetapi agak membosankan jika saya memiliki lebih banyak jaringan untuk bekerja dengan proxy_ssh
server saya . Jadi saya sudah mencoba hanya menambahkan ProxyCommand
ke Host *
bagian yang tidak bekerja.
Saya ingin menjadikan ini lebih transparan bagi pengguna akhir, dan mengubah konfigurasi ssh menjadi yang berikut, hanya meninggalkan definisi Host tertentu.
Host *
ServerAliveInterval 240
Compression yes
ForwardAgent yes
ForwardX11 yes
ProxyCommand ssh my_user@proxy_ssh.example.com netcat -w 120 %h %p
Ini berdampak bahwa saya tidak dapat terhubung lagi ke endhost. Koneksi habis waktu!
Jadi, pertanyaan saya, adakah cara agar ini lebih transparan sehingga semua koneksi SSH saya akan menggunakan proxy_ssh
host?
-F /dev/null
untuk mengabaikan konfigurasi untuk perintah proxy.
-F /dev/null
saya akan menimpa konfigurasi bersama-sama Jika saya memahami halaman manual dengan benar. Bukan itu yang saya inginkan.
ProxyCommand
ssh. Kemungkinan lain adalah menimpa hanya ProxyCommand
menggunakan -oProxyCommand=none
.