Kuinka määrittää salasanaton SSH-todennus RHEL 9: ssä


Lyhenne sanoista Secure Shell, SSH on suojattu verkkoprotokolla, joka salaa liikenteen kahden päätepisteen välillä. Sen avulla käyttäjät voivat muodostaa turvallisen yhteyden ja/tai siirtää tiedostoja verkon kautta.

Verkko- ja järjestelmänvalvojat käyttävät enimmäkseen SSH:ta etäresurssien, kuten palvelimien ja verkkolaitteiden, turvalliseen käyttöön ja hallintaan verkon kautta. Se käyttää vahvoja salausmenetelmiä, kuten AES ja hajautusalgoritmeja, kuten SHA-2 ja ECDSA asiakkaan ja etäjärjestelmän välillä vaihdetun liikenteen salaamiseen.

SSH toteuttaa kaksi todennusmenetelmää; salasanapohjainen todennus ja julkisen avaimen todennus. Jälkimmäinen on suositeltavampi, koska se tarjoaa paremman suojan käyttämällä julkisen avaimen todennusta, joka suojaa järjestelmää raakoja hyökkäyksiä vastaan.

Tätä silmällä pitäen esittelemme, kuinka voit määrittää SSH-avainpohjaisen todennuksen RHEL 9:ssä.

Testauslaboratorion asetukset

Tältä kokoonpanomme näyttää

  • Linux/UNIX (Ubuntu- tai RHEL-pohjainen) järjestelmä, johon luomme avainparin. Tässä oppaassa käytän Ubuntu-jakelua.
  • RHEL 9:n ilmentymä (Tämä pilvi on paikan päällä tai pilvi-VPS).

Vaihe 1: Luo ECDSA SSH -avainpari

Siirry Linux-järjestelmääsi ja luo SSH-avainpari seuraavasti. Tässä oppaassa luomme avainparin ECDSA-algoritmilla, joka tarjoaa paremman salauksen ja suojauksen.

Siksi luo ECDSA-avainpari suorittamalla komento:

ssh-keygen -t ecdsa

Komento opastaa sinut useiden kehotteiden läpi.

Oletuksena avainpari tallennetaan käyttäjän kotihakemistoon ~/.ssh-hakemiston sisällä. Voit hyväksyä tämän SSH-näppäinparin kohteeksi painamalla näppäimistön ENTER-näppäintä, muuten voit määrittää haluamasi polun. Tässä oppaassa olemme päättäneet käyttää oletuspolkua.

Seuraavaksi sinua pyydetään antamaan tunnuslause. Tämä on periaatteessa salasana, joka sinun on annettava, kun muodostat yhteyden RHEL 9 -etäjärjestelmään. Se tarjoaa lisäsuojauskerroksen SSH-avainten tarjoaman salauksen lisäksi.

Jos suunnitelmasi on kuitenkin automatisoida prosesseja SSH-suojauksen yli tai määrittää salasanaton todennus, on suositeltavaa jättää tämä kohta tyhjäksi. Ja siksi jätämme tämän tyhjäksi painamalla vielä kerran ENTER-näppäintä.

Alla on komennon suoritusajan tulos.

Voit katsoa SSH-avainparia käyttämällä ls-komentoa kuvan mukaisesti.

ls -l ~/.ssh

id_ecdsa on yksityinen avain, kun taas id_ecdsa.pub on julkinen avain. Yksityisen avaimen tulee aina pysyä salassa, eikä sitä saa jakaa tai paljastaa kenellekään. Toisaalta voit vapaasti jakaa yleisön minkä tahansa etäjärjestelmän kanssa, johon haluat muodostaa yhteyden.

Vaihe 2: Kopioi julkinen SSH-avain Remote RHEL 9:ään

Seuraava vaihe on kopioida julkinen avain RHEL 9 -etäinstanssiin. Voit tehdä tämän manuaalisesti tai käyttämällä komentorivityökalua ssh-copy-id. Koska jälkimmäinen on paljon helpompi ja kätevämpi käyttää, kutsu se käyttämällä seuraavaa syntaksia.

ssh-copy-id user@rhel-9-server-IP

Meidän tapauksessamme komento on seuraava, jossa tecmint on tavallinen kirjautumiskäyttäjä ja 192.168.254.129 on etäkäyttäjän IP-osoite.

ssh-copy-id [email 

Kirjoita kyllä jatkaaksesi yhteyden muodostamista. Anna sitten etäkäyttäjän salasana ja paina ENTER.

Julkinen avain kopioidaan authorized_keys-tiedostoon etäkäyttäjän kotihakemiston ~/.ssh-hakemistossa. Kun avain on kopioitu, voit nyt kirjautua sisään RHEL 9 -etäinstanssiin käyttämällä julkisen avaimen todennusta.

HUOMAA: RHEL 9:ssä pääkäyttäjän kirjautuminen SSH:n kautta on oletuksena poistettu käytöstä tai estetty. Tämä johtuu hyvistä syistä – se estää hyökkääjää kirjautumasta sisään root-tilillä, mikä antaa hänelle kaikki järjestelmän oikeudet. Siksi julkisen avaimen kopioiminen RHEL-järjestelmään pääkäyttäjänä epäonnistuu.

Ota Root Login käyttöön RHEL 9:ssä

Jos sinun on kirjauduttava sisään root-käyttäjänä, sinun on muokattava SSH-oletusasetuksia seuraavasti.

sudo vim /etc/ssh/sshd_config

Aseta seuraavaksi PermitRootLogin-attribuutti arvoon yes, tallenna muutokset ja poistu tiedostosta.

Ota tehdyt muutokset käyttöön käynnistämällä SSH-palvelu uudelleen.

sudo systemctl restart ssh

Vaihe 3: Tarkista julkisen SSH-avaimen todennus

Vahvistakaamme nyt julkisen avaimen todennus. Voit tehdä tämän kirjautumalla sisään seuraavasti.

ssh [email 

Tällä kertaa sinulta ei kysytä salasanaa, vaan siirryt suoraan RHEL 9 -etäkuoreen kuvan mukaisesti. Voit myös tarkistaa authorized_keys-tiedoston olemassaolon, kuten aiemmin mainittiin.

ls -l ~/.ssh 

Voit myös tarkastella salauksen julkisen avaimen tiedostoa cat-komennolla.

cat ~/.ssh/authorized_keys

Linux-työpöydällä, jolla loimme SSH-avaimet, ~/.ssh-hakemistoon luodaan tiedosto nimeltä known_hosts. Tämä sisältää kaikkien niiden etäpalvelimien sormenjäljen, joihin järjestelmä on muodostanut yhteyden.

Tässä oppaassa olemme määrittäneet onnistuneesti SSH-avainpohjaisen todennuksen RHEL 9:ssä. Palautteesi on erittäin tervetullutta.