Kuidas kasutada SSH ProxyJumpi ja SSH ProxyCommandi Linuxis


Lühidalt: selles juhendis näitame, kuidas kasutada hüppeserveriga ühenduse loomisel SSH ProxyJumpi ja SSH ProxyCommandi käske.

Eelmises SSH Jump Serveri seadistamise juhendis käsitlesime Bastioni hosti kontseptsiooni. Bastioni host või Jump Server on vaheseade, millega SSH-klient enne sihtotstarbelisele Linuxi süsteemile juurde pääsemist loob ühenduse. SSH Jump server toimib teie IT-ressursside väravana, vähendades seega rünnaku pinda.

SSH ProxyJump ja ProxyCommand käsud määravad, kuidas klient loob ühenduse kaugserveriga hüppeserveri, hüppehosti või bastionserveri kaudu.

See juhend tõstab tähelepanu SSH ProxyJumpile ja SSH puhverserveri käsule Linuxis.

Sisukord

Ühendage kaug-Linux, kasutades käsku SSH ProxyJump

ProxyJump käsk on tähistatud lipuga -J. Seda tutvustati OpenSSH-serveri versioonis 7.3 ja see aitab teil luua ühenduse kaugsihtmärgiga, jättes vahele bastioni või hüppeserveri.

Allolev süntaks näitab, kuidas seda valikut kasutatakse:

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

Mitme bastioni või hüppeserveri puhul võtab süntaks järgmise vormingu.

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

Mõlemal juhul logitakse teid igal sammul sisse juurkasutajana. Turvakaalutlustel pole see ideaalne, seega võiksite igal juhul luua erinevaid kasutajaid.

Saate selgesõnaliselt määrata erinevad kasutajad ja SSH-pordid, nagu näidatud.

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

ProxyJump lipu demonstreerimiseks tegevuses on meil lihtne seadistus, nagu näidatud.

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

Kaugsihtmärgiga ühenduse loomiseks hüppeserveri abil näeb käsk välja järgmine.

$ ssh -J [email  [email 

Käsk küsib teilt hüppeserveri kasutaja parooli, millele järgneb seejärel sihtsüsteemi parool, mille alusel saate juurdepääsu sihtsüsteemile.

Kui kasutate kindla kaugsihtmärgiga ühenduse loomiseks regulaarselt kindlat bastioni, saate ühenduse sujuvaks muutmiseks lisada faili ~/.ssh/config järgmise ProxyJumpi konfiguratsiooni. Kui see juhtub, autenditakse teid ainult üks kord ja see juhtub ainult kaugsihtmärgiga.

Host host-jump
User james
Hostname 173.82.232.55

Host host_destination
User tecmint
Hostname 173.82.227.89
Port 22

Kasutades ülaltoodud konfiguratsiooni, saate luua ühenduse sihtmärgiga, nagu näidatud.

$ ssh -J host_destination

Ühendage kaug-Linux, kasutades käsku SSH ProxyCommand

Enne SSH puhverserveri hüppamist oli ProxyCommand ainus viis hostide hüppamiseks kaugsihtmärgini jõudmiseks. See toimib, edastades stdini (standardne sisend) ja stdout (standardne väljund) kaugsihtmärgist hüppeserveri või bastioni kaudu.

ProxyCommand võtab järgmise süntaksi.

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

Siin edastavad argumendid -W kuni %h:%p stdini ja väljuvad kaughostile (%h) ja kaugseadmele hosti port (%p).

Käsu elluviimiseks näeks meie käsk välja selline

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

Muidugi on kogu käsu tippimine tüütu ja aeganõudev. Nii pika käsu tippimise vältimiseks lisage faili ~/.ssh/config järgmised koodiread.

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

Salvesta ja välju.

Nüüd peate kaugserveriga ühenduse loomiseks käivitama järgmise käsu.

$ ssh host-destination

Selles juhendis näitasime, kuidas ProxyJump ja ProxyCommand käsud töötavad. Üldjuhul on ProxyJump parem alternatiiv ProxyCommandile ning pakub lihtsamat ja sujuvamat viisi kaugsihtmärgiga ühenduse loomiseks hüppehosti kaudu.