Linux-da SSH ProxyJump we SSH ProxyCommand-y nädip ulanmaly


Gysgaça: Bu gollanmada, bökmek serwerine birikdirilende SSH ProxyJump we SSH ProxyCommand buýruklaryny nädip ulanmalydygyny görkezýäris.

SSH Jump Serwerini nädip gurmalydygy baradaky öňki gollanmamyzda Bastion Host düşünjesini açypdyk. Bastion öý eýesi ýa-da bökmek serweri, SSH müşderisiniň maksatly uzakdaky Linux ulgamyna girmezden ozal birikdirýän araçy enjamdyr. SSH Jump serweri, IT çeşmeleriňiziň derwezesi bolup, hüjümiň üstüni azaldýar.

SSH ProxyJump we ProxyCommand buýruklary, müşderiniň bökmek serweri, bökmek öýi ýa-da bastion serweri arkaly uzak serwere nädip birikýändigini kesgitleýär.

Bu gollanma Linux-daky SSH ProxyJump we SSH Proxy buýrugynda ünsi özüne çekýär.

Mazmuny

SSH ProxyJump buýrugyny ulanyp, uzakdaky Linux birikdiriň

ProxyJump buýrugy -J baýdagy bilen görkezilýär. OpenSSH serweriniň 7.3 wersiýasynda girizildi we basiondan ýa-da bökmek serwerinden geçip, uzakdaky nyşana birikmäge kömek edýär.

Aşakdaky sintaksis bu opsiýanyň nähili ulanylýandygyny görkezýär:

$ ssh -J <jump-server> <remote-target>

Birnäçe basion ýa-da bökmek serwerinde sintaksis aşakdaky formaty alýar.

$ ssh -J <jump-server-1> <jump-server-2> <remote-target>

Iki ýagdaýda-da her ädimde kök ulanyjy hökmünde hasaba girersiňiz. Howpsuzlyk sebäpli bu ideal däl, şonuň üçin her ýagdaýda dürli ulanyjy döretmek isläp bilersiňiz.

Görkezilişi ýaly dürli ulanyjylary we SSH portlaryny aç-açan kesgitläp bilersiňiz.

$ ssh -J <[email protected]:port> <[email protected]:port>

“ProxyJump” baýdagyny hereketde görkezmek üçin, görkezilişi ýaly ýönekeý gurnama bar.

Jump Server IP:		173.82.232.55		User: james
Remote Target IP:	173.82.227.89		User: tecmint

“Jump” serwerini ulanyp, uzakdaky nyşana birikmek üçin buýruk aşakdaky ýaly görüner.

$ ssh -J [email protected] [email protected]

Buýruk, bökmek serweriniň ulanyjy parolyny sorar, soňra maksatly ulgamyň paroly bilen yzarlanar we size nyşan ulgamyna girmäge rugsat berler.

Belli bir uzakdaky nyşana birikmek üçin belli bir basiony yzygiderli ulanýan bolsaňyz, birikmäni bökdençsiz etmek üçin ~/.ssh/config faýlynda aşakdaky ProxyJump konfigurasiýasyny goşup bilersiňiz. Bu waka ýüze çykanda, diňe bir gezek tassyklanarsyňyz we bu diňe uzakdaky nyşanda bolýar.

Host host-jump
User james
Hostname 173.82.232.55

Host host_destination
User tecmint
Hostname 173.82.227.89
Port 22

Aboveokardaky konfigurasiýany ulanyp, görkezilişi ýaly nyşana birikdirip bilersiňiz.

$ ssh -J host_destination

SSH ProxyCommand buýrugyny ulanyp, uzakdaky Linux birikdiriň

SSH Proxy Jump-den öň, “ProxyCommand” uzakdaky nyşana ýetmek üçin ýer eýelerine bökmegiň ýeke-täk usulydy. Stdin (standart in) we stdout (standart out) uzakdaky nyşandan bökmek serweri ýa-da bastion arkaly ugrukdyrmak arkaly işleýär.

“ProxyCommand” aşakdaky sintaksisi alýar.

$ ssh -o ProxyCommand="ssh -W %h:%p <jump server>" <remote target>

Bu ýerde -W % h:% p argumentleri stdini öňe sürýär we uzakdaky host (% h) we pultdan çykýar öý eýesiniň porty (% p) .

Buýrugy herekete getirmek üçin buýrugymyz şeýle bolar

$ ssh -o ProxyCommand="ssh -W %h:%p 173.82.232.55" 173.82.227.89

Elbetde, buýrugy ýazmak ýadaw we wagt talap edýär. Şeýle uzyn buýrugy ýazmazlyk üçin ~/.ssh/config faýlyňyza aşakdaky kod setirlerini goşuň.

Host host-destination
Hostname 173.82.227.89
ProxyCommand ssh -q -W %h:%p host-jump

Saklaň we çykyň.

Indi etmeli zadyňyz, uzakdaky serwere birikmek üçin aşakdaky buýrugy işletmek.

$ ssh host-destination

Bu gollanmada ProxyJump we ProxyCommand buýruklarynyň nähili işleýändigini görkezdik. Adatça, “ProxyJump” “ProxyCommand” -a has oňat alternatiwa hökmünde çykýar we bökmek öý eýesi arkaly uzakdaky nyşana birikmegiň has aňsat we bökdençsiz ýoluny üpjün edýär.