GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare le chiavi SSH su Ubuntu 18.04

SSH sta per "Secure Shell" ed è un protocollo crittografato utilizzato per accedere e gestire un server remoto. SSH supporta anche vari meccanismi di autenticazione. SSH utilizza l'autenticazione basata su password e l'autenticazione basata su chiave pubblica per una connessione sicura tra un client e un server. L'autenticazione basata su chiave SSH è più sicura dell'autenticazione basata su password perché le chiavi sono molto difficili da indovinare o da decifrare utilizzando la potenza di calcolo attualmente disponibile.

In questo tutorial, ti mostreremo come configurare l'autenticazione basata su chiave SSH su un server Ubuntu 18.04.

Prerequisiti

  • Due nuove VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
  • Password di root configurate su entrambi i server.

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y
apt-get upgrade -y

Fase 2:genera la chiave SSH sulla macchina client

Innanzitutto, accedi al tuo computer client e genera una nuova coppia di chiavi SSH eseguendo il comando seguente:

ssh-keygen -t rsa

Dovrai premere Invio per accettare il percorso del file predefinito e fornire una passphrase per aggiungere un ulteriore livello di sicurezza, come mostrato di seguito:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
cd:58:c4:35:60:6f:a4:2e:f0:b7:42:c5:20:78:86:b2 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     o. ..+o+    |
|  . o o. =.+ .   |
|   o o.   = o    |
|  E    o B .     |
|        S =      |
|       . o .     |
|        . .      |
|         .       |
|                 |
+-----------------+

Il comando precedente genererà una coppia di chiavi RSA a 2048 bit con una passphrase sicura per impedire l'accesso da parte di utenti non autorizzati.

Puoi vedere le chiavi pubbliche e private generate con il seguente comando:

ls -l .ssh/id_rsa*

Dovresti vedere il seguente output:

-rw------- 1 root root 1766 Nov  1 11:03 .ssh/id_rsa
-rw-r--r-- 1 root root  401 Nov  1 11:03 .ssh/id_rsa.pub

A questo punto, hai le chiavi pubbliche e private che puoi usare per autenticarti con il tuo server Ubuntu.

Passaggio 3:copia la chiave pubblica sul server Ubuntu

Successivamente, dovrai copiare la chiave pubblica dalla macchina client al tuo server Ubuntu 18.04. Puoi copiare la chiave pubblica con l'utilità ssh-copy-id come mostrato di seguito:

ssh-copy-id [email protected]

Dovresti vedere il seguente output:

The authenticity of host '192.168.0.102 (192.168.0.102)' can't be established.
ECDSA key fingerprint is f7:9c:72:63:33:ac:d6:49:26:9c:af:c6:ff:11:27:01.
Are you sure you want to continue connecting (yes/no)? yes

Digita " ” e premi INVIO continuare. Dovresti vedere il seguente output:

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Successivamente, ti verrà chiesto di inserire il nome utente e la password remoti. Dopo l'avvenuta autenticazione, il contenuto della chiave pubblica ~/.ssh/id_rsa.pub verrà aggiunto al file ~/.ssh/authorized_keys dell'utente remoto come mostrato di seguito:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Passaggio 4 – Disattiva l'autenticazione con password SSH

Quindi, accedi alla tua macchina server Ubuntu 18.04 e disabilita l'autenticazione basata su password SSH per aggiungere un ulteriore livello di sicurezza al tuo server.

Puoi disabilitare l'autenticazione basata su password modificando il file /etc/ssh/sshd_config:

nano /etc/ssh/sshd_config

Trova le seguenti righe e cambia il valore in "no":

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Salva e chiudi il file, quindi riavvia il servizio SSH per applicare la configurazione:

systemctl restart ssh

Fase 5:accedi al server utilizzando le chiavi SSH

A questo punto, l'autenticazione basata su chiave SSH è configurata. Ora è il momento di accedere alla macchina server Ubuntu 18.04 con la chiave pubblica.

Puoi accedere al tuo server Ubuntu 18.04 semplicemente eseguendo il seguente comando:

ssh [email protected]

Se accedi per la prima volta, ti verrà richiesto come mostrato di seguito:

The authenticity of host '192.168.0.102 (192.168.0.102)' can't be established.
ECDSA key fingerprint is f7:9c:72:63:33:ac:d6:49:26:9c:af:c6:ff:11:27:01.
Are you sure you want to continue connecting (yes/no)? yes

Digita e premi Invio chiave per continuare. Successivamente, ti verrà chiesto di inserire la passphrase per la tua chiave privata come mostrato di seguito:

Enter passphrase for key '/root/.ssh/id_rsa':

Fornisci la passphrase della tua chiave privata e premi Invio per accedere al tuo server.

Conclusione

Nel tutorial sopra, abbiamo imparato come impostare un'autenticazione basata su chiave SSH con una passphrase su Ubuntu 18.04. La connessione tra la tua macchina client e la macchina server Ubuntu 18.04 è ora altamente sicura. Puoi anche usare la stessa chiave per un altro server remoto. Se sei pronto per iniziare con l'autenticazione basata su chiave SSH, prova oggi stesso l'hosting VPS con Atlantic.Net.


Linux
  1. Come generare chiavi SSH su Ubuntu 18.04

  2. Come impostare le chiavi SSH

  3. Come configurare le chiavi SSH su Ubuntu 16.04

  4. Come configurare le chiavi SSH su Debian

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

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

Come migliorare la sicurezza SSH su Ubuntu 18.04