GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare le chiavi SSH

Informazioni sulle chiavi SSH

Le chiavi SSH forniscono un modo più sicuro per accedere a un server privato virtuale con SSH rispetto all'utilizzo di una sola password. Mentre una password può eventualmente essere decifrata con un attacco di forza bruta, le chiavi SSH sono quasi impossibili da decifrare con la sola forza bruta. La generazione di una coppia di chiavi fornisce due lunghe stringhe di caratteri:una chiave pubblica e una privata. È possibile posizionare la chiave pubblica su qualsiasi server, quindi sbloccarla collegandosi ad essa con un client che dispone già della chiave privata. Quando i due corrispondono, il sistema si sblocca senza bisogno di una password. Puoi aumentare ulteriormente la sicurezza proteggendo la chiave privata con una passphrase.

Questa guida è stata scritta principalmente dalle persone di DigitalOcean. Dai un'occhiata alle loro fantastiche opzioni di server a costi competitivi su digitalocean.com

Fase uno:crea la coppia di chiavi RSA

Il primo passo è creare la coppia di chiavi sulla macchina client (ci sono buone probabilità che questo sia solo il tuo computer):

ssh-keygen -t rsa

Fase due:archivia le chiavi e la passphrase

Dopo aver inserito il comando Gen Key, riceverai alcune altre domande:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Puoi premere invio qui, salvando il file nella home dell'utente (in questo caso, il mio utente di esempio si chiama demo).

Enter passphrase (empty for no passphrase):

Sta a te decidere se vuoi usare una passphrase. L'inserimento di una passphrase ha i suoi vantaggi:la sicurezza di una chiave, non importa quanto crittografata, dipende comunque dal fatto che non è visibile a nessun altro. Se una chiave privata protetta da passphrase cade in possesso di utenti non autorizzati, questi non potranno accedere ai relativi account associati fino a quando non scopriranno la passphrase, facendo guadagnare all'utente violato un po' di tempo in più. L'unico aspetto negativo, ovviamente, di avere una passphrase, è quindi doverla digitare ogni volta che usi la coppia di chiavi.

L'intero processo di generazione delle chiavi è simile al seguente:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

La chiave pubblica si trova ora in /home/demo/.ssh/id_rsa.pub La chiave privata (identificazione) si trova ora in /home/demo/.ssh/id_rsa

Fase tre:copia la chiave pubblica

Una volta generata la coppia di chiavi, è il momento di posizionare la chiave pubblica sul server virtuale che vogliamo utilizzare.

Puoi copiare la chiave pubblica nel file authorized_keys della nuova macchina con il comando ssh-copy-id. Assicurati di sostituire il nome utente e l'indirizzo IP di esempio di seguito.

ssh-copy-id [email protected]

In alternativa, puoi incollare le chiavi usando SSH:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Indipendentemente dal comando che hai scelto, dovresti vedere qualcosa come:

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Ora puoi andare avanti e accedere a [email protected] e non ti verrà richiesta una password. Tuttavia, se imposti una passphrase, ti verrà chiesto di inserire la passphrase in quel momento (e ogni volta che accedi in futuro).

Fase quattro facoltativa:disattivare la password per l'accesso root

Dopo aver copiato le chiavi SSH sul server e aver assicurato di poter accedere solo con le chiavi SSH , puoi andare avanti e limitare il login di root in modo che sia consentito solo tramite chiavi SSH.

Per fare ciò, apri il file di configurazione SSH:

sudo nano /etc/ssh/sshd_config

All'interno di quel file, trova la riga che include PermitRootLogin e modificalo per garantire che gli utenti possano connettersi solo con la loro chiave SSH:

PermitRootLogin without-password

Metti in atto le modifiche:

service openssh-server restart

Linux
  1. Come configurare le chiavi SSH usando cPanel

  2. Come utilizzare le chiavi SSH con Plesk

  3. Come configurare le chiavi SSH su Ubuntu 16.04

  4. Come configurare le chiavi SSH su Ubuntu 18.04

  5. Come trasferire le mie chiavi SSH su un'altra macchina?

Come configurare le chiavi SSH su Debian 9

Come configurare le chiavi SSH su Debian 10

Come configurare le chiavi SSH – Sistema operativo Windows?

Come configurare la chiave pubblica e privata SSH in Linux

Come configurare la chiave SSH su un server Plesk

Come configurare le chiavi SSH su Debian 11 Linux