Vai al contenuto
EuroVPSEuroVPS

Come usare le chiavi SSH per l'autenticazione

FAQ EuroVPS

Aggiornato il 2 min di lettura (shell meta.minRead)

Shared FAQ page chrome (breadcrumb, dates, read time, «Continua a leggere», enquiry block, category labels): see INDEX-AND-CHROME.md. Translate once.

Perché le chiavi?

L'autenticazione a chiave pubblica si basa su un insieme di chiavi specifico per ogni utente, chiamato coppia chiave pubblica e chiave privata. La chiave pubblica generata sulla macchina client SSH viene copiata nel file authorized_keys del server SSH, e questo porta il server a considerarla attendibile. Durante il login il server invia una sfida (challenge) che solo chi possiede la chiave privata corrispondente può firmare; la password non viene mai trasmessa.

Come configurare l'autenticazione SSH a chiave

Create la directory delle chiavi.

mkdir -p ~/.ssh

Proteggete la directory .ssh limitando l'accesso al solo utente SSH.

chmod 700 ~/.ssh

Generate la coppia di chiavi.

ssh-keygen -t rsa

Seguite i messaggi a schermo per creare le chiavi in modo interattivo e inserite una password (facoltativa) a protezione della chiave privata; se la impostate, vi verrà chiesta durante la sessione SSH.

Copiate la chiave pubblica in authorized_keys sul server.

Potete copiare il testo del file ~/.ssh/id_rsa.pub e incollarlo nel file ~/.ssh/authorized_keys sul server, oppure usare l'utility ssh-copy-id nel formato seguente per trasferire la chiave.

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

L'opzione -i indica il file di identità, cioè la chiave pubblica.

Disattivate l'autenticazione con password e attivate quella a chiave pubblica.

Accedete al server come root, aprite il file /etc/ssh/sshd_config con un editor di testo qualsiasi e assicuratevi che le direttive siano impostate come segue.

PubkeyAuthentication yes
PasswordAuthentication no

Se la chiave è per l'utente root, impostate PermitRootLogin prohibit-password, così root può accedere con una chiave ma mai con una password. Per le nuove chiavi, preferite ssh-keygen -t ed25519.

PermitRootLogin prohibit-password

Riavviate il servizio SSH sul server e provate la connessione SSH dal client; se incontrate problemi di connessione, usate l'opzione -vv con il comando SSH.

ssh -vv root@yourhost.com

Suggerimenti

Proprietà e permessi della directory devono appartenere a quell'utente: chmod 600 ~/.ssh/id_rsa

Dalle FAQ di EuroVPS.

Altro in «Guide»

Il vostro prossimo partner per l'infrastruttura

Avete ancora
una domanda?

Diteci cosa state cercando di fare. Un ingegnere la leggerà e vi risponderà.

+357 222 32280
Un ingegnere EuroVPS trasporta un nodo server nella sala del datacenter
Una conversazione con le persone che si prenderanno cura della vostra infrastruttura.

Partiamo dalla vostra infrastruttura.

Un po' di contesto ci aiuta a iniziare la conversazione giusta.

Useremo i vostri dati per rispondere alla vostra richiesta. Informativa sulla privacy