Lăsați SSH să folosească un ascultător SOCKS local când este disponibil
Limitați verificarea Match exec din OpenSSH la o singură destinație și înțelegeți ce dovedește și ce nu dovedește o sondă reușită pe portul local.
Un ascultător SOCKS local este util în unele rețele și absent în altele. OpenSSH poate alege condiționat o comandă proxy, fără ca acea alegere să se aplice fiecărui gazdă.
Pentru OpenSSH cu forma OpenBSD a lui nc, o configurație ilustrativă de client este:
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 limitează verificarea la numele furnizat pe linia de comandă SSH. exec se potrivește când comanda sa se termină cu succes. Match all final încheie acel domeniu condiționat pentru setările următoare.
Aceasta presupune că nicio setare anterioară aplicabilă nu a ales deja o comandă proxy sau o rută de salt conflictuală. SSH folosește de obicei prima valoare obținută pentru o opțiune, așa că o valoare implicită largă în partea de sus poate împiedica o condiție ulterioară să aibă efectul scontat.
Un socket care ascultă este o promisiune modestă
Sonda verifică accesul TCP la un port local. Nu finalizează negocierea SOCKS, nu stabilește conexiunea dorită către destinație și nu dovedește ce program deține acel port. Ascultătorul poate dispărea și după verificare.
Timpul limită menține o sondă eșuată în limite. Opțiunile afișate aparțin interfeței nc din OpenBSD; alte programe cu același nume de fișier pot expune opțiuni diferite.
Când condiția nu se potrivește, acest exemplu lasă conexiunea fără acest ProxyCommand, permițând ruta ei obișnuită. Acest lucru este potrivit doar când accesul direct este permis. O politică obligatorie de proxy nu ar trebui să folosească o verificare de disponibilitate drept permisiune de a evada pe altă rută.
Numele de gazdă SSH țintă și verificările cheii de gazdă identifică în continuare serverul destinație. Alegerea unui ajutor de transport nu este un motiv pentru a accepta o cheie de gazdă neașteptată.