Un escoltador SOCKS local és útil en algunes xarxes i absent en d'altres. OpenSSH pot triar una ordre de proxy de manera condicional, sense que aquesta tria s'apliqui a tots els amfitrions.

Per a OpenSSH amb la forma OpenBSD de nc, una configuració de client il·lustrativa és:

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 limita la comprovació al nom indicat a la línia d'ordres d'SSH. exec coincideix quan la seva ordre acaba correctament. L'últim Match all tanca aquest àmbit condicional per a les opcions següents.

Això pressuposa que cap opció anterior aplicable no ha triat ja una ordre de proxy o una ruta de salt en conflicte. SSH normalment fa servir el primer valor obtingut per a una opció de configuració, així que un valor per defecte ampli a dalt pot impedir que una condició posterior tingui l'efecte esperat.

Un sòcol que escolta és una promesa modesta

La prova comprova l'accés TCP a un port local. No completa la negociació SOCKS, no estableix la connexió de destinació desitjada ni demostra quin programa posseeix aquest port. L'escoltador també pot desaparèixer després de la comprovació.

El temps d'espera manté limitada una prova fallida. Les opcions mostrades pertanyen a la interfície nc d'OpenBSD; altres programes amb aquest mateix nom de fitxer poden exposar opcions diferents.

Quan la condició no coincideix, aquest exemple deixa la connexió sense aquesta ProxyCommand, cosa que permet la seva ruta habitual. Això només és adequat quan es permet l'accés directe. Una política de proxy obligatòria no hauria de fer servir una comprovació de disponibilitat com a permís per escapar-se per una altra ruta.

El nom d'amfitrió SSH de destinació i les comprovacions de clau d'amfitrió continuen identificant el servidor de destinació. Triar un auxiliar de transport no és motiu per acceptar una clau d'amfitrió inesperada.

Articles relacionats