SSH-ga dadweynaha ee marin-wareegga mara wuxuu ku guuldareystaa laba xad oo aan xiriir lahayn, hagaajinta midda kalena waxay badanaa muujisaa tan kale. Ama cidhifku wuxuu soo celiyaa jawaab HTTP halkii uu qulqulka qaadan lahaa, ama marin-wareeggu wuxuu hor geeyaa cinwaan aan dhabarka marnaba ogolayn inuu akhriyo. Saddex shuruudood ayaa go'aamiya midka aad aragto: waxa diiwaanka dadweynaha runtii tilmaamayo, waxa qaybta qulqulka ay u dirto qaybta sare, iyo magaca ay SSH macmiilku xaqiijiyo. Sidan uga shaqee.

Laba xad, laba calaamad

Guuldarada cidhifka waxay u egtahay bog xaalad HTTP oo yimaada halka ay banner-ka SSH ahaan lahaa. Xiriirku wuxuu ku dhammaadaa heerka TCP, baaytyada ugu horreeyana waa qoraal u gaar ah serverka shabakadda. Taasi waa ismaandhaaf borotokool, ma aha baakad lumay. Waxay kaloo kuu sheegaysaa in cidhifku si ula kac ah u adeegayo wax kale magacaas.

Guuldarada qaybta sare waxay u muuqataa si ka duwan. Xiriirku wuxuu gaaraa sshd, sshd wuxuu akhriyaa baaytyo aan ahayn isweydaarsiga aqoonsiga uu filayo, kalandhka wuu dhintaa ama wuu laalaadaa isagoo aan marnaba furayaal bixin.

Labadan way fududahay in la isku qaldo maxaa yeelay labaduba waxay soo saaraan macmiil xirma oo haddana guuldareysta. Jawaabta borotokool ee ugu horreysa ee aad hesho ayaa kala saarta, sidaas darteed waa inay tikidhka ku jirtaa.

Cinwaanka PROXY waa fariin, ma aha badhan

Gudaha moduulka qulqulka, proxy_protocol on wuxuu NGINX ku amraa inuu ka hor xamuulka u qoro cinwaan borotokool PROXY dhanka qaybta sare. Taasi ma daaro proxy TCP, waxna kama quseyso sirta SSH. Waa qoraal loo jeediyey qaataha. Haddii qaatahu aanu akhrin karin, waxay noqotaa qashin bilowga qulqulka.

Adeegga qaata waa inuu si ula kac ah u isticmaalo cinwaankaas. sshd caadi ah wuxuu filayaa isweydaarsiga aqoonsiga SSH inuu noqdo baaytyada ugu horreeya xiriirka, sidaas darteed hordhac lama filaan ah ayaa jebiya is-gacan-qabsiga si u eg server xumaaday.

stream {
    server {
        listen 2222;
        proxy_pass 10.77.0.20:22;
    }
}

Qaybtaasi waa dhammaan marin-wareeg shaqeynaya oo loogu talagalay dhabarka laga gaari karo VPN-ka. Ma muuqato wax tilmaan PROXY ah maxaa yeelay qaatahu kuma hadlo borotokoolkaas, maqnaanshahaasuna waa go'aan, ma aha halmaan.

Kala sooc labada jiho sidoo kale. Dejinta proxy_protocol khadka listen waxay ka dhigan tahay NGINX wuxuu filayaa in macmiilkiisa ugu horreeya uu diraa cinwaanka; daarnaa macmiil SSH caadi ah waxay soo saartaa si ka duwan dhibaatada dadku caadi ahaan isku dayaan inay xalliyaan.

Waxa magaca martigeliyaha dadweynaha runtii gaaro

Bog HTTP 400 gudaha kalandhka SSH waa caddayn ku saabsan cidhifka. Wax jidka ku jira ayaa ku hadla HTTP, wax shaqo ah oo furayaal ama akoon dhabarka ahna ma beddeli doonto. Jooji beddelidda dhabarka ilaa cidhifka la xalliyo.

Diiwaanka caadiga ah ee Cloudflare ee proxy-ga ah wuxuu qaadaa taraafikada HTTP iyo HTTPS ee la taageeray dekedo cayiman. Daarista proxy-ga magac martigeliye ma abuurto marin-wareeg TCP guud, u wareejinta SSH dekedda 443na kama dhigto HTTPS.

Waxaa jira laba jiho oo la shaqeyn karo. Diiwaan DNS-kaliya ah wuxuu tilmaami karaa marin-wareeggaaga TCP, taasoo go'aanka muujinta gacantaada dhigta. Haddii kale, isticmaal badeeco si cad u diiwaangalisa qaadista SSH, oo leh hannaankiisa asalka, macmiilka iyo gelitaanka.

Wax kasta oo aad doorato, marin-wareeggu wali wuxuu u baahan yahay waddo VPN oo dhabarka, xiriir la ogolaaday iyo waddo lagu soo noqdo. Waddadu ma aha ikhtiyaari sababtoo ah dhinaca dadweynaha ayaa shaqeeya.

Hayso aqoonsiga SSH oo deggan iyadoo la adeegsanayo magac kale

Isticmaalayaashu badanaa waxay rabaan inay sii qoraan magaca martigeliyahooda jira. Magac kale oo ku jira habaynta SSH ayaa taas samayn kara isagoo wax ka beddelin marin-wareegga, wuxuuna beddelka ku hayaa dhinaca macmiilka halka uu ku habboon yahay.

Host git.example.com
    HostName ssh-entry.example.net
    Port 2222
    User git
    HostKeyAlias git.example.com

Iyada oo aan lahayn HostKeyAlias, OpenSSH wuxuu furayaasha martigeliyaha ka raadiyaa magaca uu ku xirmo, sidaas darteed gelitaanku wuu dhaqaaqaa iyo isticmaal kasta wuxuu arkaa digniin furayaal beddelmay isticmaalka ugu horreeya. Dejinta magaca kale waxay hayaan gelitaannada known-hosts oo deggan halka xiriirku wali u socdo marin-wareegga.

Magac kale kan wuxuu khusayaa oo kaliya kaydka fog ee ku saleysan SSH. URL Git oo HTTPS ah ma tashado, URL-ka fog ee caadiga ahna waa inuu la jaanqaado gaadiidka aad runtii diyaarisay.

Waxa aanad ahayn inaad samayso waa inaad damiso xaqiijinta furayaasha martigeliyaha si digniintu u tagto. Taasi waxay ka saartaa difaac aan hagaajinta gudbintu marnaba weydiisan in la taabto, waxayna u beddelaysaa dhibaato muuqaal ah soo-gaadhis dhab ah.

Xaqiiji boodbood kasta si gooni ah

Tijaabi dhegeystaha dadweynaha keligiis, ka dibna xiriirka marin-wareeg ilaa dhabarka oo ka yimaada martigeliyaha marin-wareegga, ka dibna kaliya macmiilka min dhammaad ilaa dhammaad. Mid kasta oo ka mid ah saddexdaas tijaabo wuxuu meesha ka saarayaa lakab ka duwan. Mid ka boodidda waxay ka dhigan tahay in labada natiijo ee hadhay aan la fasiran karin. Saddex indho-indheyn, saddex meel oo guuldaradu ku noolaan karto.

La hayn cinwaanka loo socdo, dekedda iyo baaytyada borotokoolka ugu horreeya natiijo kasta. Saddexdaas waxay kala soocaan khaladka cidhifka iyo dhibaatada waddada VPN iyo guuldarada xaqiijinta SSH, waana tan farqiga u dhexeeya hagaajin iyo qiyaas.

Ugu dambeyntii, diiwaangeli soo-gaadhista la qorsheeyay. Marin-wareeg TCP oo SSH u qaada dhabar gaar ah waa furid ula kac ah oo ku taal wareegga dadweynaha, wuxuuna mudan yahay dib-u-eegis la mid ah adeeg kasta oo soo galaya.

Maqaallo la xiriira