Kohalik SOCKS-kuulaja on mõnes võrgus kasulik ja teises puudub. OpenSSH saab puhverserveri käsku valida tingimuslikult, ilma et see valik kehtiks iga hosti kohta.

OpenSSH jaoks OpenBSD kujul nc on näitlik kliendi konfiguratsioon:

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 piirab kontrolli SSH käsureal antud nimega. exec vastab siis, kui selle käsk lõpeb edukalt. Lõplik Match all lõpetab selle tingimusliku ulatuse järgnevate seadete jaoks.

See eeldab, et ükski varasem kohaldatav säte ei ole juba valinud vastuolulist puhverserveri käsku ega hüppeteed. SSH kasutab konfiguratsioonivaliku jaoks tavaliselt esimest saadud väärtust, seega ülalpool olev lai vaikeväärtus võib takistada hilisemal tingimusel oodatud mõju avaldamast.

Kuulav sokkel on tagasihoidlik lubadus

Kontroll testib TCP-ligipääsu kohalikule pordile. See ei lõpeta SOCKS-läbirääkimisi, ei loo soovitud sihtühendust ega tõesta, milline programm seda porti omab. Kuulaja võib pärast kontrolli ka kaduda.

Ajalõpp hoiab ebaõnnestunud kontrolli piiratuna. Näidatud valikud kuuluvad OpenBSD nc liidesele; teised sama failinimega programmid võivad pakkuda erinevaid valikuid.

Kui tingimus ei vasta, jätab see näide ühenduse ilma selle ProxyCommandita, lubades selle tavapärast teed. See on asjakohane ainult siis, kui otsene juurdepääs on lubatud. Kohustuslik puhverserveri poliitika ei tohiks kasutada kättesaadavuse kontrolli loana teisele teele põgenemiseks.

Sihtkoha SSH-hostinimi ja hostivõtme kontrollid tuvastavad endiselt sihtserveri. Transpordiabilise valimine ei ole põhjus ootamatu hostivõtme vastuvõtmiseks.

Seotud artiklid