Genera chiavi SSH su sistemi operativi Linux | Linuxiano.it
Privacy Policy

Genera chiavi SSH su sistemi operativi Linux

Genera chiavi-SSH-Linux

SSH è un protocollo di rete crittografata che viene utilizzato per collegarsi in modo sicuro a un host su una rete non protetta

Come impostazione predefinita, qualsiasi sitema Linux supporta SSH; quindi l’utilizzo di un client di terze parti è inutile come in Windows. Il protocollo SSH richiede un server che accetta le connessioni SSH e un client che invia le richieste di connessione all’host. L’utilizzo tipico del protocollo SSH, è l’accesso remoto, il comando remoto e il trasferimento di file. Oggi molti server basati su Linux usano il protocollo SSH per stringere la propria sicurezza. una parte importante del protocollo SSHè la coppia di chiavi d’autenticazione utilizzata per identificare e autorizzare gli utenti. Quindi, in questo articolo vengono illustrati quali sono, come generarli e come utilizzarli per proteggere il server e altre informazioni pertinenti.

Come generare chiavi e quali sono?

La generazione della coppia di chiavi SSH è costituita da due fasi basilari. La prima fase sta generando la coppia di chiavi sul lato locale, la seconda fase sta copiandola all’host remoto, registrandosi nel server e configurando il daemon ssh per renderlo utile. Una coppia di chiavi è composta da due file, id_rsa e id_rsa.pub che sono rispettivamente chiavi private e pubbliche. La chiave pubblica risiede sul lato server, mentre la chiave privata viene utilizzata quando si accede tramite protocollo SSH.

Nell’esempio seguente il comando ssh-keygen viene utilizzato per generare la coppia di chiavi. Quando si genera la coppia di chiavi, il prompt dei comandi richiede un nome per un tasto, se viene omesso il nome predefinito – invece viene utilizzato id_rsa:

ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

Come utilizzare questi tasti?

Una volta che è stata generata la coppia di chiavi sul lato locale attraverso la finestra del terminale, dovete succesivamente prepararlo per l’utilizzo per scopi d’autenticazione. Il modo più conveniente per caricare e registrare la chiave pubblica nel server è l’utilizzo del comando ssh-copy-id, ciò che fa è copiare la chiave pubblica sull’account utente specifico situato nell’host specificato. Come si vede nell’esempio seguente quando tutti gli ID ssh-copy-id, il nome utente, il nome host e la password vengono dati, la chiave pubblica viene copiata e registrata sul lato server. Se il nome utente è root, la chiave pubblica viene caricata su /root/.ssh/ sul server.

[email protected]:~$ # ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed:
“/root/.ssh/id_rsa.pub”
The authenticity of host ‘x.x.x.x (x.x.x.x)’ can’t be established.
ECDSA key fingerprint is SHA256:XXXXXX
Are you sure you want to continue connecting (yes/no)? yes
/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:

Detto questo, il server non è ancora protetto con la coppia di chiavi SSH in quanto non è configurato correttamente. Chiunque può ancora accedere al server se è nota la password dell’account utente; dunque dovete disattivare la password e abilitare la verifica delle coppie di chiavi. Per disabilitare l’autenticazione della password, modificare il file / etc / ssh / sshd_config in cui sono contenute le impostazioni per il demone SSH. Nel file, la password d’autenticazione deve essere modificata a NO, ChallengeResponseAuthentication deve essere modificata anche in No. Per il passo successivo, il demone sshd deve essere riavviato per avere effetto, può essere fatto con sudo systemctl reload sshd. Infine, il nuovo metodo d’autenticazione delle chiavii può essere testato dando username @ username nella finestra terminale.

Teoria delle chiavi e come funzionano

La coppia di chiavi è una parte dello standard SSH utilizzato per la connessione a un host remoto su una rete non protetta. Come indicato in precedenza, la coppia di chiavi è costituita da due chiavi – chiavi pubbliche e private che vengono caricate sul lato server e mantenute rispettivamente sul lato client. La chiave pubblica è indicata dall’estensione .pub e la chiave privata non dispone di alcuna estensione.

Quando l’utente accede al server, il demone SSH installato sul lato server richiede all’utente la chiave privata SSH, se viene fornito che la chiave privata viene confrontata con la chiave pubblica del server. Se la chiave privata corrisponde alla chiave pubblica, l’autenticazione ha successo, in caso contrario respinge la richiesta di accesso. Per impostazione predefinita, la coppia di chiavi utilizza RSA è un algoritmo crittografico per generare le chiavi. Ma ci sono altri algoritmi popolari, come DSA e ECDSA.

opzioni di riga di comando ssh-keygen

ssh-keygen viene utilizzato per generare chiavi e fornisce una serie di opzioni per facilitare la gestione delle coppie di chiavi, stringere la sicurezza e aumentare la flessibilità. Le opzioni seguenti sono alcune delle opzioni importanti che possono essere utili quando si gestisce un server.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Modificare la resistenza del bit

La forza del bit si riferisce alla dimensione della coppia di chiavi che definisce la sua forte tenuta. Oggi la dimensione standard è di 2048 bit, ma è stata di 1024 bit e non è più accettabile poiché è speculato che molti potenti hardware sono in grado di decifrare qualsiasi cosa chiave fino a 1024 bit o addirittura sopra con la giusta quantità di tempo. Fortunatamente, ssh-keygen supporta attualmente valori di forza più elevati, come 2048 e il suo prossimo numero 4096, che è consigliato se è possibile a causa della grande forza del bit. Il valore della forza bit può essere regolato con il comando -b, se viene omesso il valore predefinito – 1024 o 2048 a seconda del ssh-keygen.

ssh-keygen -b 2048|1024|768

Commento chiave pubblica

Il commento è applicabile alla chiave pubblica ed è utile per organizzare le chiavi se ci sono un gran numero di chiavi coinvolte. L’uso tipico del commento è quando più amministratori utilizzano un server, ma ancora vogliono distinguere una chiave da un altro. Il seguente formato viene utilizzato per aggiungere un commento durante la generazione di una coppia di chiavi.

ssh-keygen -C “”

Cambia la frase di una chiave privata

Come aggiungere una passphrase durante la generazione di una coppia di chiavi, anche la passphrase esistente può essere modificata. Poiché la passphrase è applicabile alla chiave privata che risiede sul lato client, il comando deve essere eseguito sul lato client insieme al nome della chiave privata. Questa opzione richiede 3 parametri, una vecchia password, una nuova password e una chiave privata per applicare le modifiche.

ssh-keygen -p -P OLDPass -N newPas -f privateKey

Modificare l’algoritmo crittografico

L’Algoritmo definisce come le informazioni nella coppia di chiavi vengono crittografate per verificare l’un l’altro quando si stabilisce la connessione. Ssh-keygen supporta diversi tipi di algoritmi popolari quali RSA , ECDSA, DSA, ED25519 e RSA1. Oggi l’algoritmo popolare tra molti server è RSA a causa dell’utilizzo diffuso e della sicurezza relativamente buona, tuttavia è attualmente aggiornato alla versione più recente ECDSA, che è molto più leggera e ha un basso valore bit con un’elevata sicurezza rispetto a RSA. ED25519 è la versione più recente tra questi e pertanto non supportato da molti clienti, ma è ancora possibile implementare l’implementazione sul lato server. DSA è la versione più antica di tutti questi algoritmi e non è più impiegata nella maggior parte degli host perché non è più sicura. Secondo OpenSSH 7 il supporto per DSA non sarà più fornito. Il formato per utilizzare l’algoritmo è come segue.

ssh-keygen -t dsa|ecdsa|ed25519|rsa|rsa1

Se avete consigli o domande non esitate a scrivermi