Leisti SSH naudoti vietinį SOCKS klausytuvą, kai jis prieinamas
Apribokite OpenSSH Match exec patikrą vienu tikslu ir supraskite, ką sėkminga vietinio prievado patikra įrodo, o ko ne.
Vietinis SOCKS klausytuvas naudingas vienuose tinkluose, o kituose jo nėra. OpenSSH gali sąlyginai pasirinkti tarpinio serverio komandą, nepadarydamas to pasirinkimo taikomo kiekvienam mazgui.
OpenSSH su OpenBSD formos nc atveju iliustracinė kliento konfigūracija yra:
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 apriboja patikrą vardu, nurodytu SSH komandinėje eilutėje. exec atitinka, kai jo komanda baigiasi sėkmingai. Galutinis Match all užbaigia tą sąlyginę sritį tolesniems nustatymams.
Tai daro prielaidą, kad jokia ankstesnė taikoma nuostata jau nepasirinko prieštaringos tarpinio serverio komandos ar šuolio maršruto. SSH paprastai naudoja pirmąją gautą reikšmę, todėl platus numatytasis nustatymas viršuje gali sutrukdyti vėlesnei sąlygai turėti laukiamą poveikį.
Klausantis lizdas yra kuklus pažadas
Patikra tikrina TCP prieigą prie vietinio prievado. Ji neužbaigia SOCKS derybų, neužmezga norimo tikslo ryšio ir neįrodo, kuri programa valdo tą prievadą. Klausytuvas taip pat gali išnykti po patikros.
Skirtasis laikas riboja nepavykusią patikrą. Rodomi parametrai priklauso OpenBSD nc sąsajai; kitos programos tuo pačiu failo vardu gali siūlyti kitus parametrus.
Kai sąlyga neatitinka, šis pavyzdys palieka ryšį be šios ProxyCommand ir leidžia įprastą maršrutą. Tai tinka tik tada, kai tiesioginė prieiga leidžiama. Privaloma tarpinio serverio politika neturėtų naudoti prieinamumo patikros kaip leidimo pabėgti kitu maršrutu.
Tikslinis SSH mazgo vardas ir mazgo rakto patikros vis dar identifikuoja tikslo serverį. Transporto pagalbininko pasirinkimas nėra priežastis priimti netikėtą mazgo raktą.