Miestny SOCKS listener je užitočný v niektorých sieťach a v iných chýba. OpenSSH dokáže podmienečne vybrať proxy príkaz bez toho, aby sa tento výber vzťahoval na každého hostiteľa.

Pre OpenSSH s formou nc z OpenBSD je ilustratívna klientská konfigurácia:

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 obmedzuje kontrolu na názov zadaný na príkazovom riadku SSH. exec sa zhoduje, keď sa jeho príkaz skončí úspešne. Záverečný Match all ukončuje tento podmienený rozsah pre nasledujúce nastavenia.

To predpokladá, že žiadne skoršie platné nastavenie už nevybralo protichodný proxy príkaz ani trasu preskočenia. SSH zvyčajne používa prvú získanú hodnotu, takže široká predvolená hodnota navrchu môže neskoršej podmienke zabrániť v očakávanom účinku.

Počúvajúci socket je skromný sľub

Kontrola testuje prístup TCP k miestnemu portu. Nedokončuje vyjednávanie SOCKS, nenadväzuje požadované spojenie s cieľom ani nepreukazuje, ktorý program port vlastní. Listener môže po kontrole aj zmiznúť.

Časový limit drží neúspešnú kontrolu v medziach. Zobrazené voľby patria rozhraniu nc z OpenBSD; iné programy s rovnakým názvom súboru môžu ponúkať odlišné voľby.

Keď podmienka nezodpovedá, tento príklad ponechá spojenie bez tohto ProxyCommand, čím umožní jeho obvyklú trasu. To je vhodné len vtedy, ak je povolený priamy prístup. Povinná proxy politika by nemala kontrolu dostupnosti používať ako povolenie uniknúť na inú trasu.

Cieľový názov hostiteľa SSH a kontroly kľúča hostiteľa stále identifikujú cieľový server. Výber dopravného pomocníka nie je dôvodom prijať neočakávaný kľúč hostiteľa.

Súvisiace články