Nechte SSH používat místní SOCKS listener, když je k dispozici
Omezte kontrolu OpenSSH Match exec na jeden cíl a pochopte, co úspěšná kontrola místního portu prokazuje a co ne.
Místní SOCKS listener je na některých sítích užitečný a na jiných chybí. OpenSSH umí zvolit proxy příkaz podmíněně, aniž by se tato volba vztahovala na každého hostitele.
Pro OpenSSH s openbsdskou podobou nc vypadá ilustrativní konfigurace klienta takto:
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 omezuje kontrolu na jméno zadané na příkazovém řádku SSH. exec odpovídá, když jeho příkaz skončí úspěšně. Závěrečný Match all ukončuje tento podmíněný rozsah pro následující nastavení.
To předpokládá, že žádné dřívější platné nastavení už nezvolilo konfliktní proxy příkaz nebo trasu přeskočení. SSH obvykle používá první získanou hodnotu volby, takže široká výchozí hodnota nahoře může pozdější podmínce zabránit v očekávaném účinku.
Naslouchající socket je skromný slib
Kontrola testuje přístup TCP k místnímu portu. Nedokončuje vyjednávání SOCKS, nenavazuje požadované spojení s cílem ani neprokazuje, který program port vlastní. Listener může po kontrole také zmizet.
Časový limit drží neúspěšnou kontrolu v mezích. Zobrazené volby patří rozhraní nc z OpenBSD; jiné programy se stejným názvem souboru mohou nabízet odlišné volby.
Když podmínka neodpovídá, tento příklad ponechá spojení bez tohoto ProxyCommand, a umožní tak jeho obvyklou trasu. To je vhodné jen tehdy, je-li povolen přímý přístup. Povinná proxy politika by neměla kontrolu dostupnosti používat jako svolení k úniku na jinou trasu.
Cílové jméno hostitele SSH a kontroly klíče hostitele stále určují cílový server. Volba transportního pomocníka není důvodem přijmout neočekávaný klíč hostitele.