Kaip dar lengviau naudoti SSH su konfigūracijos failais


Jei naudojate Secure Shell prisijungdami prie nuotolinių Linux serverių visą dieną, turėtumėte apsvarstyti galimybę naudoti konfigūracijos failą, kad palengvintumėte savo gyvenimą. Štai kaip.

Secure Shell (SSH) yra vienas iš tų įrankių, su kuriais tikriausiai dirbs kiekvienas Linux vartotojas. Naudodami SSH galite lengvai (ir saugiai) prisijungti prie nuotolinių serverių ir stalinių kompiuterių, kad galėtumėte administruoti, kurti ir tikrinti tuos įrenginius.

Naudoti SSH yra taip paprasta:

ssh jack@192.168.1.11

Ar net tiesiog:

ssh 192.168.1.11

Žinoma, pakeistumėte IP adresą į įrenginio, kurį turite pasiekti, adresą (arba domeną).

SSH tampa šiek tiek ne toks paprastas, kai turite daugybę įrenginių, kuriuos pasiekiate naudodami skirtingas konfigūracijas (pvz., skirtingus naudotojų vardus arba SSH autentifikavimo raktus). Įsivaizduokite, jei turėtumėte 20 ar daugiau skirtingų serverių, prie kurių turėtumėte prisijungti kasdien. Turėtumėte ne tik sekti tų serverių IP adresus ar domenus, bet ir atsiminti, kokie naudotojų vardai ar autentifikavimo raktai buvo naudojami. Vien tai gali būti gana slegianti.

Laimei, SSH leidžia sukurti konfigūracijos failą, kuriame būtų visa ši informacija. Taigi, užuot įvedę kažką panašaus į ssh olivia@192.168.1.100 -p 2222, galite tiesiog įvesti ssh web1.

Leiskite parodyti, kaip tai daroma.

Kaip sukurti SSH konfigūracijos failą

Ko jums reikės: vieninteliai dalykai, kurių jums reikės, yra stalinis kompiuteris su įdiegtu OpenSSH ir 1 ar daugiau serverių, leidžiančių SSH ryšius.

1. Sukurkite konfigūracijos failą

Prisijunkite prie „Linux“ įrenginio, kurį naudojate SSH prie visų šių nuotolinių įrenginių. Atidarykite terminalo langą ir sukurkite naują konfigūracijos failą naudodami nurodytą komandą.

Naujo SSH konfigūracijos failo sukūrimas nano pagalba.

Kadangi tai naujas failas, tai bus tuščia drobė, prie kurios galėsime pradėti pridėti serverių konfigūracijas. Tarkime, kad norite sukonfigūruoti šiuos nuotolinius serverius:

  • web1 adresu 192.168.1.100 su vartotoju olivia

  • db1 adresu 192.168.1.101 su vartotoju nathan ir SSH raktu ~/.ssh/id_nathan

  • docker1 adresu 192.168.1.102 su vartotoju lilly 2222 prievade

Mūsų pirmasis įrašas atrodys taip:

Host "web1"
     Hostname "192.168.1.100"
     User olivia

Jei šiuo metu išsaugosite ir uždarysite failą, galite SSH į 192.168.1.100 naudodami komandą:

ssh web1

2. Sukonfigūruokite daugiau įrašų

Eikime į priekį ir sukonfigūruokite kitus du įrašus, kurie atrodys taip:

Host db1
     Hostname "192.168.1.101"
     User nathan
     IdentityFile ~/.ssh/id_nathan
     PubkeyAuthentication yes

Host docker1
     Hostname "192.168.1.102"
     User lilly
     Port 2222

Išsaugokite ir uždarykite failą. Dabar galite apsaugoti apvalkalą tose mašinose naudodami komandas:

ssh web1
ssh db1
ssh docker1

Kiekvienai prieglobai galite naudoti bet kokį reikalingą slapyvardį, tiesiog padarykite juos įsimenamus, kad nepamirštumėte, kurį įrenginį bandote pasiekti, ir nuolat tektų nurodyti konfigūracijos failą, kad išsaugotumėte savo atmintį.

3. Konfigūruokite konkretų vartotojo vardą

Tačiau tarkime, kad visuose nuotoliniuose serveriuose naudojate tą patį vartotojo vardą, bet vietiniame kompiuteryje naudojate kitą vartotojo vardą. Pavyzdžiui, jūsų vietinio kompiuterio naudotojo vardas gali būti lizdas, bet jūs sukūrėte administratoriaus vartotoją visuose nuotoliniuose serveriuose. Galite sukurti vieną įrašą visiems tiems serveriams su pakaitos simboliu IP adresu:

Host 192.168.1.*
User admin

Aukščiau pateikta konfigūracija bus pateikta jūsų konfigūracijos failo viršuje.

4. Sukonfigūruokite atskirus SSH rakto autentifikavimo įrašus

Tada galite konfigūruoti kiekvieną serverį atskirai, jei reikia, nepalikdami vartotojo parinkties. Pavyzdžiui, jei abu serveriai 192.168.1.200 ir 192.168.1.201 naudoja SSH rakto autentifikavimą, galite konfigūruoti įrašus taip:

Host web2
     Hostname 192.168.1.200
     IdentityFile ~/.ssh/id_admin
     PubkeyAuthentication yes

Host web3
     Hostname 192.168.1.201
     IdentityFile ~/.ssh/id_admin
     PubkeyAuthentication yes

Kadangi pritaikėme naudotojo administratorių visam kompiuterių diapazonui pagal IP adresų schemą 192.168.1.x, šis vartotojo vardas bus taikomas visiems ryšiams. Taip pat galite nepaisyti šios visuotinės konfigūracijos prireikus pridėdami vartotojo konfigūracijos eilutę.

SSH konfigūracijos failas leidžia naudoti keletą kitų parinkčių (apie jas visas galima perskaityti oficialioje SSH konfigūracijos dokumentacijoje), tačiau šie aukščiau pateikti pavyzdžiai turėtų būti viskas, ko reikia norint dirbti su SSH konfigūracijos failu.

Ir tai viskas, ką reikia naudoti naudojant SSH konfigūracijos failą, kad nuotolinė prieiga su Secure Shell būtų dar lengvesnė.