SSH багыттоо иш жүзүндө кайсы колдонмо трафигин ташыйт?
Кабык, жергиликтүү багыттоо, SOCKS жана туннель түзмөгү режими ар башка интерфейстерди сунуштайт. Колдонмоңуз колдоно алган интерфейсти маршрутталган VPN менен салыштыруудан мурун атаңыз.
Терминал туташат, суроо белгиси чыгат жана баары SSH кирүү иштеп жатканы менен макул болушат. Анан ноутбуктагы маалымат базасынын кардары дагы деле жеке хостко жете албайт, ал эми сессия күнөөлөнөт. Курулган нерсе кабык болгон, ал эми SSH сунуштай алган төрт такыр башка интерфейстин бири. Адегенде интерфейсти атаңыз, анан колдонмо аны чындыгында колдонорун текшериңиз. Тартип маанилүү, анткени ар бир интерфейс өзүнүн ыкмасы менен ийгиликсиз болот.
Бир нерсени салыштыруудан мурун интерфейсти атаңыз
OpenSSH кардарынын колдонмосу чаташтырууга оңой төрт механизмди айырмалайт. Кабык же алыскы буйрук SSH хостунда аткарылат. Жергиликтүү багыттоо кардарда угуучу сокетти ачат жана андан аркы туташууну алыскы тараптан жасайт. Алыскы багыттоо тескерисинче иштейт, сервер тарабында угат. Динамикалык багыттоо аны кантип колдонууну билген программаларга SOCKS акыркы чекитин сунуштайт.
- Кабык: программа алыскы машинада иштейт, жергиликтүү жерде эч нерсе укпайт.
- Жергиликтүү багыттоо: ноутбугуңузда порт бар, алыскы хост сыртка чыгуучу туташууну жасайт.
- Алыскы багыттоо: алыскы тарапта порт бар, трафик сиз жакка кайтат.
- Динамикалык: кардардагы SOCKS проксиси, аны проксини түшүнгөн колдонмолор гана колдонот.
Булардын эч бири маршрут орнотпойт. Прокси жөндөөлөрүн этибарга албаган, же UDP менен сүйлөгөн, же аттарды өзү чечкен программа, ага активдүү SSH сессиясы таасир этпейт. Бул SSHдеги кемчилик эмес; бул сиз тандаган интерфейстин чеги.
Жергиликтүү, алыскы жана динамикалык багыттоолор ким угары менен айырмаланат
Көп учурларды чечкен айырма — угуучу сокет кимге таандык экени. Жергиликтүү багыттоодо кардар угат жана алыскы чети максатты терип алат, ошондуктан максат дареги сервердин көз карашынан чечилет. Алыскы багыттоодо сервер угат жана туташуу сиздин жакка кайтарылат, ушундайча сиз жергиликтүү кызматты түз жарыялабастан ачасыз.
ssh -N -L 5432:db.internal.example:5432 [email protected] ssh -N -D 1080 [email protected] ss -ltnp | grep -E '5432|1080'
Биринчи буйрук ноутбукта 5432 портун байлап, аны бастиондон көрүнгөндөй маалымат базасына багыттайт. Экинчиси 1080 портунда SOCKS проксисин түзөт. Үчүнчү буйрук кайсы процесстер чындыгында угуп жатканын ырастайт жана бул багыттоонун порт кагылышуусунан унчукпай ийгиликсиз болушунан эмес, бар экендигинин жалгыз далили.
Динамикалык багыттоо өзүнүн эскертүүсүнө татыктуу: ал SOCKSти сыйлаган колдонмолорду гана камтыйт. Браузерди ага багыттоого болот, буйрук сап куралына аны колдонууну айтууга болот, бирок өзүнүн туташуу дестеси бар маалымат базасынын драйвери адатта муну кыла албайт. Машинадагы ар бир программа эми туннелди колдонот деп божомолдоо — ушул тармактагы эң кеңири тараган ката.
Туннель түзмөгү режими — жалгыз чыныгы тармактык өзгөчөлүк
OpenSSH -w туннель түзмөгү багыттоосун да колдойт, ал TCP угуучусунун ордуна чекиттен чекитке интерфейсти өткөрөт. Бул чыныгы тармактык туннель жана ал атайын конфигурацияланат, кабык ачуунун жанындагы таасири эмес.
sudo ssh -w 0:0 [email protected] ip addr show tun0
Ага эки четине тең жеткиликтүү тиешелүү интерфейс номерлери, серверде туура конфигурация жана түзмөктү түзүү үчүн кардарда жетиштүү артыкчылык керек. Ага ошондой эле дарек жана маршруттоо планы керек, анткени жалаң интерфейс кайсы максаттар аны колдонушу керектиги тууралуу эч кандай саясатты алып жүрбөйт.
Ошондо да туннель алыскы хостдо бүтөт. SSH транспорту берген кандай гана коргоо болбосун, ал ошол жерде бүтөт, ал эми андан аркы туташуу өзүнчө секирик. VPN дарбазасынын чек арасы да ушундай формада, ошондуктан салыштыруу кайсы курал күчтүү экени тууралуу эмес, камтуу жана аяктоо тууралуу болушу керек. Ошол чек араны үнү менен атоо туннелдин «баарын шифрлейби» деген талашты да чечет, анткени ал анык шифрлебейт.
Колдонмоңуз сиз курган интерфейсти колдонорун текшериңиз
Текшерүү ар бир колдонмо боюнча жүргүзүлөт, сессия боюнча эмес. Иштеп турган багыттоо порт байланганын жана алыскы чети терип ала аларын далилдейт; ал сизге маанилүү программа ошонун аркылуу туташканын далилдебейт.
curl -sS --socks5-hostname 127.0.0.1:1080 -o /dev/null -w '%{http_code}\n' https://app.internal.example/health
psql "host=127.0.0.1 port=5432 dbname=app sslmode=require" -c 'select 1'Биринчи буйрук хост атын алыстан чечип, SOCKS акыркы чекити аркылуу сурам жөнөтөт, ал эми экинчиси TLS дагы деле талап кылынып жатканда багытталган маалымат базасынын портун сынайт. Багыттоо токтотулган абалда ошол эле тесттерди иштетип, алар ийгиликсиз болорун текшериңиз, анткени эки жол менен тең өткөн тест туннелди эч качан колдонгон эмес.
Анан маршрутталган VPN менен маанилүү өлчөмдөр боюнча гана салыштырыңыз: кайсы максаттар камтылган, кайсы протоколдор иштейт, коргоо кайда бүтөт жана ким кирүүнү бекитиши керек. Бир кызматтын багыттоосу тарыраак жана жакшыраак жооп болушу мүмкүн, ал эми көптөгөн колдонмолорго бирдей тармактык жол керек болгондо VPN туура форма. Экөө тең өзүнүн алыскы акыркы чекитинен жеткиликтүү болгондун баарын бербейт.