Introduksjon
Denne veiledningen forklarer hvordan du oppretter SSH-nøkler, legger til den offentlige nøkkelen til CentOS 8-serveren og konfigurerer sshdfor passordløs pålogging.
Trinn 1 - Opprette SSH-nøkkelpar
Først må du opprette et SSH-nøkkelpar på datamaskinen din, hvis du ikke allerede har dem.
I terminalen din på din lokale datamaskin, kjør:
ssh-keygen
Etter å ha kjørt denne kommandoen, bør du se følgende ledetekst:
Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):
Trykk for ENTERå lagre dette SSH-nøkkelparet i ./sshunderkatalogen i hjemmekatalogen din, eller spesifiser en alternativ bane hvis du vil.
Etter dette bør du se følgende utgang:
Output
Your identification has been saved in /your_home/.ssh/id_rsa.
Your public key has been saved in /your_home/.ssh/id_rsa.pub.
The key fingerprint is:
your_fingerprint_key username@remote_host
The key's randomart image is:
+--[ RSA 2048]----+
| ..o |
| E o= . |
| o. o |
| .. |
| ..S |
| o o. |
| =o.+. |
|. =++.. |
|o=++. |
+-----------------+
I eksemplet ovenfor your_homeer datamaskinens hjemmekatalog
Du har opprettet et offentlig og privat nøkkelpar. Vi kopierer den offentlige nøkkelen til serveren. For å se din offentlige nøkkel:
cat ~/.ssh/id_rsa.pub
Du vil se en veldig lang streng som starter med ssh-rsa .
Trinn 2: Legge til SSH-nøkkel til CentOS-serveren
SSH til serveren din og opprett .sshkatalogen, hvis den ikke allerede eksisterer:
mkdir -p ~/.ssh
Legg til den offentlige nøkkelen fra trinn 1 til ~/.ssh/authorized_keys. Erstatt public_key_stringmed innholdet id_rsa.pubfra trinn 1:
echo public_key_string >> ~/.ssh/authorized_keys
Logg ut av serveren, og logg deretter på igjen:
ssh root@your_server_ip
Hvis du kobler slik til serveren din for første gang, vil du se følgende melding:
Output
The authenticity of host 'your_server_ip' can't be established.
ECDSA key fingerprint is your_finderprint_id.
Are you sure you want to continue connecting (yes/no)?
Hvis du ser denne meldingen, svar yesog trykk. ENTER
Du vil også bli bedt om serverrotpassordet ditt. Vi vil dekke hvordan du deaktiverer dette i neste trinn.
Trinn 3: Deaktivering av passordautentisering
Din SSH-nøkkelbaserte autentisering er konfigurert, men passordautentisering er fortsatt aktiv. For å endre dette må du gjøre noen endringer i filen sshd_configsom ligger i /etc/sshkatalogen. Du kan åpne den filen med denne kommandoen:
sudo vi /etc/ssh/sshd_config
I filen må du finne og endre flere linjer Permit Root Login skal settes til yes
...
PermitRootLogin yes
...
Passordautentisering bør settes til no
...
PasswordAuthentication no
...
Challenge Response Authentication bør settes til no
...
ChallengeResponseAuthentication no
...
Bruk av passordautentiseringsmetode (PAM) bør settes til yes
...
UsePAM yes
...
Når du er ferdig med å gjøre endringer, trykker du på ESCog deretter :WQ. For at denne endringen skal tre i kraft, start sshdtjenesten på nytt:
sudo systemctl restart sshd.service
Før du lukker terminalen der du er koblet til serveren, åpne nytt terminalvindu og kjør denne kommandoen
ssh root@your_server_ip
Nå skal du være koblet til serveren din uten passord og kun med SSH-nøkkelen din. Dette betyr at din SSH-baserte autentisering er vellykket konfigurert og passordautentisering er deaktivert.