Come usare le chiavi SSH per l'autenticazione
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
Partiamo dalla vostra infrastruttura.
Un po' di contesto ci aiuta a iniziare la conversazione giusta.
