Kuidas konfigureerida kohandatud SSH-ühendusi kaugjuurdepääsu lihtsustamiseks
SSH (SSH klient) on masinale kaugjuurdepääsu programm, mis võimaldab kasutajal käske täita kaughostil. See on üks kaugserverisse sisselogimise soovitatuimaid meetodeid, kuna see on loodud turvalise krüptitud side pakkumiseks kahe ebausaldusväärse hosti vahel ebaturvalises võrgus.
SSH kasutab nii kogu süsteemi hõlmavat kui ka kasutajapõhist (kohandatud) konfiguratsioonifaili. Selles õpetuses selgitame, kuidas luua kohandatud ssh-konfiguratsioonifail ja kasutada teatud võimalusi kaughostidega ühenduse loomiseks.
- Peate oma Linuxi töölauale installima OpenSSH-i kliendi.
- Mõistke ssh kaudu kaugühenduste jaoks kasutatavaid levinumaid valikuid.
Allpool on toodud ssh-kliendi konfiguratsioonifailide asukohad:
-
/etc/ssh/ssh_config
- see on vaikimisi kogu süsteemi hõlmav konfiguratsioonifail. See sisaldab sätteid, mis kehtivad kõigile ssh-kliendimasina kasutajatele. -
~/.ssh/config
või$HOME/.ssh/config
- on kasutajapõhine/kohandatud konfiguratsioonifail. Sellel on konfiguratsioonid, mis kehtivad konkreetsele kasutajale. Seetõttu alistab see vaikeseaded kogu süsteemis asuvas konfiguratsioonifailis. Selle faili loome ja kasutame.
Vaikimisi autentitakse kasutajad ssh-is paroolide abil, kuid saate seadistada ssh-i paroolita sisselogimise ssh-keygeni abil 5 lihtsa sammuga.
Märkus. Kui kataloogi ~/.ssh
teie töölaua süsteemis pole, looge see järgmiste õigustega.
$ mkdir -p ~/.ssh $ chmod 0700 ~/.ssh
Ülaltoodud käsk chmod tähendab, et ainult kasutajal võivad olla kataloogis lugemis-, kirjutamis- ja täitmisõigused, nagu ssh seaded nõuavad.
Kuidas luua kasutajaspetsiifilist SSH-i konfiguratsioonifaili
Seda faili pole tavaliselt vaikimisi loodud, seega peate selle looma ainult kasutaja lugemis-/kirjutamisõigustega.
$ touch ~/.ssh/config $ chmod 0700 ~/.ssh/config
Ülaltoodud fail sisaldab jaotisi, mis on määratletud hostide spetsifikatsioonidega, ja jaotist rakendatakse ainult hostidele, mis vastavad ühele spetsifikatsioonis määratud mustrile.
~/.ssh/config
tavapärane vorming on järgmine ja kõiki tühje ridu, samuti ridu, mis algavad ‘#’
-ga, käsitatakse kommentaaridena:
Host host1 ssh_option1=value1 ssh_option2=value1 value2 ssh_option3=value1 Host host2 ssh_option1=value1 ssh_option2=value1 value2 Host * ssh_option1=value1 ssh_option2=value1 value2
Ülaltoodud vormingus:
- Host host1 - on host1 päise määratlus, siin algab hostispetsifikatsioon ja see lõpeb järgmise päise määratlusega, host host2 teeb jaotise.
- host1, host2 on lihtsalt käsureal kasutatavad hostinimed, need ei ole kaughostide tegelikud hostinimed.
- Konfiguratsioonisuvandid, nagu ssh_option1 = väärtus1, ssh_option2 = väärtus1 väärtus2, kehtivad sobitatud hostile ja need peaksid olema hästi korraldatud vormindamise korral taandatud.
- Sellise valiku puhul nagu ssh_option2 = väärtus1 väärtus2, võetakse kõigepealt väärtus väärtus1 ja seejärel väärtus2.
- Päise definitsioon Host * (kus
*
on muster - metamärk, mis vastab nullile või enamale tähemärgile) vastab nullile või enamale hostidele.
Arvestades ülaltoodud vormingut, loeb ssh konfigureerimisfaili nii. Kui täidate ssh-käsu, et pääseda host1-le kaugjuurdepääsu nii:
$ ssh host1
Ülaltoodud ssh käsk teeb järgmisi asju:
- sobitama konfiguratsioonifailis hosti pseudonüümi host1 ja rakendama määratluse päises Host host1 seatud suvandeid.
- liigub seejärel järgmisesse hostiosasse Host Host2 ja leiab, et käsureal toodud nimi ei ühti, seega siit ei kasutata ühtegi valikut.
- See jätkub viimases jaotises Host *, mis sobib kõigi hostidega. Siin rakendab see kõiki selle jaotise valikuid hostiühenduse jaoks. Kuid see ei saa alistada ühtegi valiku väärtust, mida eelmistes jaotistes on juba kasutatud.
- Sama kehtib ka host2 kohta.
Kuidas kasutada kasutajaspetsiifilist SSH-i konfiguratsioonifaili
Kui olete aru saanud, kuidas ssh-kliendi konfiguratsioonifail töötab, saate selle luua järgmiselt. Ärge unustage kasutada serverikeskkonnale sobivaid valikuid ja väärtusi (hosti varjunimed, pordinumbrid, kasutajanimed ja nii edasi).
Avage konfiguratsioonifail oma lemmikredaktoriga:
$ vi ~/.ssh/config
Ja määrake vajalikud jaotised:
Host fedora25 HostName 192.168.56.15 Port 22 ForwardX11 no Host centos7 HostName 192.168.56.10 Port 22 ForwardX11 no Host ubuntu HostName 192.168.56.5 Port 2222 ForwardX11 yes Host * User tecmint IdentityFile ~/.ssh/id_rsa Protocol 2 Compression yes ServerAliveInterval 60 ServerAliveCountMax 20 LogLevel INFO
Ülaltoodud ssh seadistamisvalikute üksikasjalik selgitus.
- HostName - määratleb sisselogimiseks tegeliku hostinime, alternatiivina võite kasutada arvulisi IP-aadresse, see on samuti lubatud (nii käsureal kui ka HostName'i spetsifikatsioonides).
- Kasutaja - määrab kasutaja, kellena sisse logida.
- Port - määrab pordi numbri kaughosti ühendamiseks, vaikimisi on 22. Kasutage puldi numbrit, mis on konfigureeritud kaughosti sshd konfiguratsioonifailis.
- Protokoll - see valik määratleb protokolliversioonid, mida ssh peaks eelistuste järjekorras toetama. Tavalised väärtused on „1” ja „2”, mitu versiooni peavad olema komaga eraldatud.
- IdentityFile - määrab faili, millest loetakse kasutaja DSA, Ed25519, RSA või ECDSA autentimise identiteet.
- EdasiX11 - määratleb, kas X11-ühendused suunatakse automaatselt üle turvalise kanali ja seatakse ekraanikuva. Sellel on kaks võimalikku väärtust\"jah" või\"ei".
- Tihendamine - seda kasutatakse tihenduse seadistamiseks kaugühenduse ajal väärtusega "jah". Vaikimisi on "ei".
- ServerAliveInterval - määrab aegumise intervalli sekundites, pärast mida serverilt vastust (või andmeid) pole saabunud, saadab ssh krüptitud kanali kaudu sõnumi, et serverilt vastust taotleda. Vaikeväärtus on 0, mis tähendab, et serverisse ei saadeta sõnumeid, või 300, kui suvand BatchMode on määratletud.
- ServerAliveCountMax - määrab serveri elusate sõnumite arvu, mida võidakse saata ilma, et ssh serverilt vastust ei saaks.
- LogLevel - määratleb paljusõnalisuse taseme, mida kasutatakse ssh-ist sõnumite logimisel. Lubatud väärtused hõlmavad vaikset, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 ja DEBUG3. Ja vaikimisi on INFO.
Tavapärane viis ühenduse loomiseks mis tahes Linuxi kaughostiga (minu puhul CentOS 7 - minu puhul), mis on määratletud ülaltoodud konfiguratsioonifaili teises osas, sisestame tavaliselt järgmise käsu:
$ ssh -i ~/.ssh/id_rsa -p 22 [email
Kuid ssh-kliendi konfiguratsioonifaili kasutamisel võime lihtsalt sisestada järgmise käsu:
$ ssh centos7
Rohkem valikuid ja kasutusnäiteid leiate ssh-kliendi seadistuste käsulehelt:
$man ssh_config
See on praegu, selles juhendis selgitasime teile, kuidas kasutada Linuxis kasutajaspetsiifilist (kohandatud) ssh-kliendi konfigureerimisfaili. Selle artikli kohta meile tagasisidetamiseks kasutage allolevat tagasiside vormi.