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.

  1. Peate oma Linuxi töölauale installima OpenSSH-i kliendi.
  2. Mõistke ssh kaudu kaugühenduste jaoks kasutatavaid levinumaid valikuid.

Allpool on toodud ssh-kliendi konfiguratsioonifailide asukohad:

  1. /etc/ssh/ssh_config - see on vaikimisi kogu süsteemi hõlmav konfiguratsioonifail. See sisaldab sätteid, mis kehtivad kõigile ssh-kliendimasina kasutajatele.
  2. ~/.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:

  1. 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.
  2. host1, host2 on lihtsalt käsureal kasutatavad hostinimed, need ei ole kaughostide tegelikud hostinimed.
  3. 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.
  4. Sellise valiku puhul nagu ssh_option2 = väärtus1 väärtus2, võetakse kõigepealt väärtus väärtus1 ja seejärel väärtus2.
  5. 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:

  1. sobitama konfiguratsioonifailis hosti pseudonüümi host1 ja rakendama määratluse päises Host host1 seatud suvandeid.
  2. liigub seejärel järgmisesse hostiosasse Host Host2 ja leiab, et käsureal toodud nimi ei ühti, seega siit ei kasutata ühtegi valikut.
  3. 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.
  4. 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.

  1. 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).
  2. Kasutaja - määrab kasutaja, kellena sisse logida.
  3. Port - määrab pordi numbri kaughosti ühendamiseks, vaikimisi on 22. Kasutage puldi numbrit, mis on konfigureeritud kaughosti sshd konfiguratsioonifailis.
  4. 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.
  5. IdentityFile - määrab faili, millest loetakse kasutaja DSA, Ed25519, RSA või ECDSA autentimise identiteet.
  6. 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".
  7. Tihendamine - seda kasutatakse tihenduse seadistamiseks kaugühenduse ajal väärtusega "jah". Vaikimisi on "ei".
  8. 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.
  9. ServerAliveCountMax - määrab serveri elusate sõnumite arvu, mida võidakse saata ilma, et ssh serverilt vastust ei saaks.
  10. 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.