Introducció
Aquesta guia explica com crear claus SSH, afegir la clau pública al servidor CentOS 8 i configurar l' sshdinici de sessió sense contrasenya.
Pas 1 - Creació del parell de claus SSH
Primer heu de crear un parell de claus SSH al vostre ordinador, si ja no les teniu.
Al terminal de l'ordinador local, executeu:
ssh-keygen
Després d'executar aquesta ordre, hauríeu de veure el següent indicador:
Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):
Premeu ENTERper desar aquest parell de claus SSH al ./sshsubdirectori del vostre directori d'inici o especifiqueu un camí alternatiu si voleu.
Després d'això, hauríeu de veure la sortida següent:
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=++. |
+-----------------+
A l'exemple anterior hi your_homeha el directori inicial del vostre ordinador
Heu creat un parell de claus pública i privada . Copiarem la clau pública al servidor. Per veure la teva clau pública:
cat ~/.ssh/id_rsa.pub
Veureu una cadena molt llarga que comença amb ssh-rsa .
Pas 2: Afegeix la clau SSH al servidor CentOS
SSH al vostre servidor i creeu el .sshdirectori, si encara no existeix:
mkdir -p ~/.ssh
Afegiu la clau pública del pas 1 a ~/.ssh/authorized_keys. Substituïu public_key_stringamb el contingut del id_rsa.pubpas 1:
echo public_key_string >> ~/.ssh/authorized_keys
Tanqueu la sessió del servidor i torneu a iniciar la sessió:
ssh root@your_server_ip
Si us connecteu així al vostre servidor per primera vegada, veureu el missatge següent:
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)?
Si veieu aquest missatge, responeu yesi premeu. ENTER
També se us demanarà la contrasenya d'arrel del servidor. Explicarem com desactivar-ho al següent pas.
Pas 3: desactivació de l'autenticació de contrasenya
La vostra autenticació basada en clau SSH està configurada, però l'autenticació de contrasenya encara està activa. Per canviar-ho, heu de fer alguns canvis al fitxer sshd_configque es troba al /etc/sshdirectori. Podeu obrir aquest fitxer amb aquesta ordre:
sudo vi /etc/ssh/sshd_config
Al fitxer, heu de trobar i canviar diverses línies. Permet l'inici de sessió arrel yes
...
PermitRootLogin yes
...
L'autenticació de contrasenya s'ha de configurar a no
...
PasswordAuthentication no
...
L'autenticació de resposta al desafiament s'ha de configurar a no
...
ChallengeResponseAuthentication no
...
L'ús del mètode d'autenticació de contrasenya (PAM) s'ha d'establir a yes
...
UsePAM yes
...
Quan hàgiu acabat de fer els canvis, premeu ESCi després :WQ. Perquè aquest canvi tingui efecte, reinicieu el sshdservei:
sudo systemctl restart sshd.service
Abans de tancar el terminal on esteu connectat al servidor, obriu una nova finestra de terminal i executeu aquesta ordre
ssh root@your_server_ip
Ara hauríeu d'estar connectat al vostre servidor sense contrasenya i només amb la vostra clau SSH. Això significa que la vostra autenticació basada en SSH s'ha configurat correctament i l'autenticació de contrasenya està desactivada.