Nechať SSH používať miestny SOCKS listener, keď je dostupný
Obmedzte kontrolu OpenSSH Match exec na jeden cieľ a pochopte, čo úspešná kontrola miestneho portu dokazuje a čo nie.
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.