Pendengar SOCKS setempat berguna pada sesetengah rangkaian dan tiada pada yang lain. OpenSSH boleh memilih arahan proksi secara bersyarat, tanpa menjadikan pilihan itu terpakai pada setiap hos.

Untuk OpenSSH dengan bentuk OpenBSD bagi nc, konfigurasi klien contoh ialah:

Host work-server
    HostName ssh.example.net
    User alex

Match originalhost work-server exec "nc -z -w 1 127.0.0.1 1080"
    ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

Match all

originalhost mengehadkan pemeriksaan kepada nama yang diberi pada baris arahan SSH. exec sepadan apabila arahannya tamat dengan jayanya. Match all terakhir menamatkan skop bersyarat itu untuk tetapan berikutnya.

Ini menganggap tiada tetapan terdahulu yang terpakai sudah memilih arahan proksi atau laluan lompat yang bercanggah. SSH biasanya menggunakan nilai pertama yang diperoleh untuk sesuatu pilihan konfigurasi, jadi nilai lalai yang luas di bahagian atas boleh menghalang syarat kemudian daripada memberi kesan yang dijangka.

Soket yang mendengar ialah janji yang sederhana

Ujian ini memeriksa akses TCP ke port setempat. Ia tidak menyelesaikan rundingan SOCKS, tidak membina sambungan destinasi yang dikehendaki dan tidak membuktikan program mana yang memiliki port itu. Pendengar juga boleh hilang selepas pemeriksaan.

Had masa mengekalkan ujian yang gagal dalam sempadan. Pilihan yang ditunjukkan milik antara muka nc OpenBSD; program lain dengan nama fail yang sama mungkin menawarkan pilihan berbeza.

Apabila syarat tidak sepadan, contoh ini membiarkan sambungan tanpa ProxyCommand ini, yang membenarkan laluan biasa. Itu hanya wajar apabila akses terus dibenarkan. Dasar proksi wajib tidak sepatutnya menggunakan pemeriksaan ketersediaan sebagai kebenaran untuk melarikan diri ke laluan lain.

Nama hos SSH sasaran dan pemeriksaan kunci hos masih mengenal pasti pelayan destinasi. Memilih pembantu pengangkutan bukanlah sebab untuk menerima kunci hos yang tidak dijangka.

Artikel berkaitan