Боломжтой үед SSH локал SOCKS сонсогчийг ашиглахыг зөвшөөр
OpenSSH Match exec шалгалтыг нэг очих газарт хязгаарлаж, локал портын амжилттай шалгалт юуг нотолж, юуг нотлохгүйг ойлгоорой.
Локал SOCKS сонсогч зарим сүлжээнд ашигтай, заримд нь байхгүй. OpenSSH прокси командыг нөхцөлтэйгээр сонгож болох бөгөөд энэ сонголт бүх хостод үйлчлэхгүй.
OpenBSD хэлбэрийн nc бүхий OpenSSH-ийн хувьд клиентийн тохиргооны жишээ:
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 шалгалтыг SSH командын мөрөнд өгсөн нэрээр хязгаарлана. exec түүний команд амжилттай дуусахад тохирно. Сүүлийн Match all дараагийн тохиргоонуудад зориулж тэр нөхцөлт хүрээг дуусгана.
Энэ нь өмнө хэрэгжиж байсан ямар ч тохиргоо зөрчилтэй прокси команд эсвэл үсрэлтийн замналыг сонгоогүй гэж үзнэ. SSH ихэвчлэн тохиргооны сонголтод хамгийн түрүүнд олдсон утгыг ашигладаг тул дээд хэсгийн өргөн өгөгдмөл утга дараагийн нөхцөл хүлээгдэж буй нөлөөг үзүүлэхэд саад болж болно.
Сонсож буй сокет бол даруухан амлалт
Шалгалт нь локал порт руу TCP хандалтыг шалгана. Энэ нь SOCKS хэлэлцээрийг дуусгахгүй, хүссэн очих газрын холболтыг тогтоохгүй, тэр портыг аль програм эзэмшиж байгааг нотлохгүй. Сонсогч шалгалтын дараа ч алга болж болно.
Хугацааны хязгаар амжилтгүй шалгалтыг хязгаарлагдмал байлгана. Харуулсан сонголтууд OpenBSD-ийн nc интерфейст хамаарна; ижил файлын нэртэй бусад програмууд өөр сонголт санал болгож болно.
Нөхцөл тохирохгүй үед энэ жишээ холболтыг энэ ProxyCommand-гүйгээр үлдээж, ердийн замналыг нь зөвшөөрнө. Энэ нь шууд хандалт зөвшөөрөгдсөн үед л тохиромжтой. Заавал мөрдөх прокси бодлого боломжит байдлын шалгалтыг өөр зам руу зугтах зөвшөөрөл болгон ашиглах ёсгүй.
Очих SSH хостын нэр болон хостын түлхүүрийн шалгалтууд очих серверийг танина. Тээврийн туслахыг сонгох нь гэнэтийн хостын түлхүүрийг хүлээн авах шалтгаан болохгүй.