Kā piekļūt attālajam serverim, izmantojot
Lēciena resursdators (pazīstams arī kā lēciena serveris) ir starpniekserveris vai SSH vārteja uz attālo tīklu, caur kuru var izveidot savienojumu ar citu resursdatoru atšķirīgā drošības zonā, piemēram, ar demilitarizēto zonu (DMZ). Tas savieno divas atšķirīgas drošības zonas un piedāvā kontrolētu piekļuvi starp tām.
Lēciena resursdatoram jābūt ļoti drošam un uzraudzītam, jo īpaši, ja tas aptver privātu tīklu un DMZ ar serveriem, kas lietotājiem piedāvā pakalpojumus internetā.
Klasisks scenārijs ir savienojums no darbvirsmas vai klēpjdatora no uzņēmuma iekšējā tīkla, kas ar ugunsmūri ir ļoti nodrošināts ar DMZ. Lai ērti pārvaldītu serveri DMZ, varat tam piekļūt, izmantojot lēciena resursdatoru.
Šajā rakstā mēs parādīsim, kā piekļūt attālajam Linux serverim, izmantojot lēciena resursdatoru, kā arī mēs konfigurēsim nepieciešamos iestatījumus katra lietotāja SSH klienta konfigurācijās.
Apsveriet šādu scenāriju.
Iepriekš minētajā scenārijā vēlaties izveidot savienojumu ar HOST 2, taču jums ir jāiziet HOST 1 ugunsmūra, maršrutēšanas un piekļuves privilēģiju dēļ. Ir vairāki pamatoti iemesli, kāpēc nepieciešami jumfosti.
Dinamiskā jumphost saraksts
Vienkāršākais veids, kā izveidot savienojumu ar mērķa serveri, izmantojot lēciena resursdatoru, ir izmantot karodziņu -J
no komandrindas. Tas liek ssh izveidot savienojumu ar lēciena resursdatoru un pēc tam izveidot TCP pārsūtīšanu uz mērķa serveri no turienes (pārliecinieties, vai starp mašīnām esat bez SSH pieteikšanās ar paroli).
$ ssh -J host1 host2
Ja mašīnu lietotājvārdi vai porti atšķiras, norādiet tos terminālā, kā parādīts.
$ ssh -J [email :port [email :port
Vairāku jumphosts saraksts
To pašu sintaksi var izmantot, lai veiktu lēcienus vairākos serveros.
$ ssh -J [email :port,[email :port [email :port
Statiskais jumphost saraksts
Statiskais jumphost saraksts nozīmē, ka jūs zināt jumphost vai jumphosts, kas jums nepieciešams, lai pievienotu mašīnu. Tāpēc failā ~/.ssh/config
jāpievieno šāds statiskais jumphost ‘maršrutēšana’ un jānorāda resursdatora aizstājvārdi, kā parādīts.
### First jumphost. Directly reachable Host vps1 HostName vps1.example.org ### Host to jump to via jumphost1.example.org Host contabo HostName contabo.example.org ProxyJump vps1
Tagad mēģiniet izveidot savienojumu ar mērķa serveri, izmantojot lēciena resursdatoru, kā parādīts.
$ ssh -J vps1 contabo
Otrā metode ir izmantot opciju ProxyCommand, lai pievienotu lēciena konfigurāciju failā ~ .ssh/config
vai $HOME/.ssh/config
, kā parādīts.
Šajā piemērā mērķa resursdators ir contabo un lēciens ir vps1.
Host vps1 HostName vps1.example.org IdentityFile ~/.ssh/vps1.pem User ec2-user Host contabo HostName contabo.example.org IdentityFile ~/.ssh/contabovps Port 22 User admin Proxy Command ssh -q -W %h:%p vps1
Ja komanda Starpniekservera komanda ssh -q -W% h:% p vps1
nozīmē ssh palaišanu klusajā režīmā (izmantojot -q
) un stdio pārsūtīšanā (izmantojot -W
) režīmā, novirziet savienojumu caur starpniek resursdatoru (vps1).
Pēc tam mēģiniet piekļūt mērķa resursdatoram, kā parādīts.
$ ssh contabo
Iepriekš minētā komanda vispirms atvērs ssh savienojumu ar vps1 fonā, ko veicis ProxyCommand, un tur pēc tam sāciet ssh sesiju mērķa servera contabo.
Papildinformāciju skatiet ssh man lapā vai skatiet: OpenSSH/Cookbxook/Proxies and Jump Hosts.
Tas pagaidām ir viss! Šajā rakstā mēs esam parādījuši, kā piekļūt attālajam serverim, izmantojot lēciena resursdatoru. Izmantojiet zemāk esošo atsauksmju veidlapu, lai uzdotu jautājumus vai dalītos savās domās.