Introducere
Acest ghid explică cum se creează chei SSH, se adaugă cheia publică pe serverul dvs. CentOS 8 și se configurează sshdpentru conectare fără parolă.
Pasul 1 - Crearea perechii de chei SSH
În primul rând, trebuie să creați o pereche de chei SSH pe computer, dacă nu le aveți deja.
În terminalul de pe computerul dvs. local, executați:
ssh-keygen
După executarea acestei comenzi, ar trebui să vedeți următoarea solicitare:
Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):
Apăsați ENTERpentru a salva această pereche de chei SSH în ./sshsubdirectorul din directorul de acasă sau specificați o cale alternativă dacă doriți.
După aceasta, ar trebui să vedeți următoarea ieșire:
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=++. |
+-----------------+
În exemplul de mai sus your_homeeste directorul de acasă al computerului
Ați creat o pereche de chei publice și private . Vom copia cheia publică pe server. Pentru a vedea cheia publică:
cat ~/.ssh/id_rsa.pub
Veți vedea șirul foarte lung care începe cu ssh-rsa .
Pasul 2: Adăugarea cheii SSH la serverul CentOS
SSH către serverul dvs. și creați .sshdirectorul, dacă nu există deja:
mkdir -p ~/.ssh
Adăugați cheia publică de la pasul 1 la ~/.ssh/authorized_keys. Înlocuiți public_key_stringcu conținutul de id_rsa.publa pasul 1:
echo public_key_string >> ~/.ssh/authorized_keys
Deconectați-vă de pe server, apoi conectați-vă din nou:
ssh root@your_server_ip
Dacă vă conectați astfel la serverul dvs. pentru prima dată, veți vedea următorul mesaj:
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)?
Dacă vedeți acest mesaj, răspundeți yesși apăsați ENTER Vi se va solicita parola rădăcină a serverului. Vom acoperi cum să dezactivați acest lucru în pasul următor.
Pasul 3: Dezactivare autentificare parolă
Autentificarea dvs. bazată pe cheie SSH este configurată, dar autentificarea cu parolă este încă activă. Pentru a schimba acest lucru, trebuie să faceți unele modificări la fișierul sshd_configcare este localizat în /etc/sshdirector. Puteți deschide fișierul cu această comandă:
sudo vi /etc/ssh/sshd_config
În fișierul pe care trebuie să îl găsiți și să schimbați mai multe linii, Permite conectarea la rădăcină ar trebui să fie setat yes
...
PermitRootLogin yes
...
Autentificarea cu parolă ar trebui să fie setată pe no
...
PasswordAuthentication no
...
Răspunsul la provocare Autentificarea ar trebui să fie setată pe no
...
ChallengeResponseAuthentication no
...
Utilizarea metodei de autentificare a parolei (PAM) ar trebui să fie setată la yes
...
UsePAM yes
...
După ce ați terminat de efectuat modificări, apăsați ESCși apoi :WQ. Pentru ca această modificare să aibă efect, reporniți sshdserviciul:
sudo systemctl restart sshd.service
Înainte de a închide terminalul unde sunteți conectat la server, deschideți noua fereastră a terminalului și executați această comandă
ssh root@your_server_ip
Acum ar trebui să fiți conectat la serverul dvs. fără parolă și doar cu cheia SSH. Aceasta înseamnă că autentificarea dvs. bazată pe SSH este configurată cu succes și autentificarea cu parolă este dezactivată.