Gunakan ProxyCommand untuk semua Koneksi SSH

3

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 [email protected]

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_sshserver saya . Jadi saya sudah mencoba hanya menambahkan ProxyCommandke 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_sshhost?

latz
sumber
yang tidak berhasil ... kesalahan apa yang Anda dapatkan? Seperti apa bentuk konfigurasinya?
Jakuje
Menambahkan contoh yang sudah saya coba
latz
Contoh di atas akan membuatnya rekursif, bahwa setiap koneksi akan menggunakan perintah proxy, yang hanya ssh dengan perintah proxy lain. Cara yang baik untuk DOS proxy Anda. Anda harus mengecualikan proxy dari daftar atau menggunakan -F /dev/nulluntuk mengabaikan konfigurasi untuk perintah proxy.
Jakuje
Dengan menentukan -F /dev/nullsaya akan menimpa konfigurasi bersama-sama Jika saya memahami halaman manual dengan benar. Bukan itu yang saya inginkan.
latz
Hanya di ProxyCommandssh. Kemungkinan lain adalah menimpa hanya ProxyCommandmenggunakan -oProxyCommand=none.
Jakuje

Jawaban:

3

Contoh di atas akan membuatnya rekursif, bahwa setiap koneksi akan menggunakan perintah proxy, yang lagi ssh dengan perintah proxy lain. Cara yang baik untuk DOS proxy Anda.

Anda harus mengecualikan proxy dari daftar, gunakan -F /dev/nulluntuk mengabaikan konfigurasi untuk perintah proxy atau abaikan saja perintah proxy untuk proxy ssh:

ProxyCommand ssh -oProxyCommand=none my_user@proxy_ssh.example.com netcat -w 120 %h %p
Jakuje
sumber
0

Tambahkan entri ke konfigurasi untuk host melompat yang mengabaikan perintah proxy:

Host proxy_ssh.example.com
  ProxyCommand none

Kalau tidak, ia akan mencoba menggunakan perintah proxy untuk sampai ke host melompat itu sendiri.

Barmar
sumber