introduzione
Questa guida spiega come creare chiavi SSH, aggiungere la chiave pubblica al server CentOS 8 e configurare sshdper l'accesso senza password.
Passaggio 1: creazione della coppia di chiavi SSH
Per prima cosa devi creare una coppia di chiavi SSH sul tuo computer, se non li hai già.
Nel tuo terminale sul computer locale, esegui:
ssh-keygen
Dopo aver eseguito questo comando, dovresti vedere il seguente prompt:
Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):
Premere ENTERper salvare questa coppia di chiavi SSH nella ./sshsottodirectory della home directory o, se lo si desidera, specificare un percorso alternativo.
Dopo questo dovresti vedere il seguente output:
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=++. |
+-----------------+
Nell'esempio sopra your_homeè la home directory del tuo computer
Hai creato una coppia di chiavi pubblica e privata . Copieremo la chiave pubblica sul server. Per visualizzare la tua chiave pubblica:
cat ~/.ssh/id_rsa.pub
Vedrai una stringa molto lunga che inizia con ssh-rsa .
Passaggio 2: aggiunta della chiave SSH al server CentOS
SSH sul tuo server e crea la .sshdirectory, se non esiste già:
mkdir -p ~/.ssh
Aggiungi la chiave pubblica dal passaggio 1 a ~/.ssh/authorized_keys. Sostituisci public_key_stringcon i contenuti del id_rsa.pubpassaggio 1:
echo public_key_string >> ~/.ssh/authorized_keys
Disconnettersi dal server, quindi accedere nuovamente:
ssh root@your_server_ip
Se ti connetti in questo modo al tuo server per la prima volta, vedrai il seguente messaggio:
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)?
Se viene visualizzato questo messaggio, rispondi yese premi ENTER Ti verrà anche richiesta la password di root del server. Tratteremo come disabilitarlo nel prossimo passaggio.
Passaggio 3: disabilitare l'autenticazione con password
L'autenticazione basata su chiave SSH è configurata, ma l'autenticazione con password è ancora attiva. Per cambiare questo è necessario apportare alcune modifiche al file sshd_configche si trova nella /etc/sshdirectory. Puoi aprire quel file con questo comando:
sudo vi /etc/ssh/sshd_config
Nel file è necessario trovare e modificare diverse righe. Consenti accesso root deve essere impostato su yes
...
PermitRootLogin yes
...
L'autenticazione password deve essere impostata su no
...
PasswordAuthentication no
...
L'autenticazione della risposta alla sfida deve essere impostata su no
...
ChallengeResponseAuthentication no
...
L'uso del metodo di autenticazione password (PAM) deve essere impostato su yes
...
UsePAM yes
...
Al termine delle modifiche, premere ESCe quindi :WQ. Per rendere effettiva questa modifica, riavviare il sshdservizio:
sudo systemctl restart sshd.service
Prima di chiudere il terminale in cui si è connessi al server, aprire la nuova finestra del terminale ed eseguire questo comando
ssh root@your_server_ip
Ora dovresti essere connesso al tuo server senza password e solo con la tua chiave SSH. Ciò significa che l'autenticazione basata su SSH è stata configurata correttamente e l'autenticazione della password è disabilitata.