Autenticazione SSH basata su chiavi
Generate coppie di chiavi SSH, distribuite le chiavi pubbliche sui server e disabilitate l'autenticazione tramite password per una maggiore sicurezza.
Autenticazione SSH basata su chiavi è una lezione Linux Server Deployment & SSH Mastery gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Server Deployment & SSH Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.
Sbloccare SSH con le coppie di chiavi
Benvenuto! In questa lezione imparerà a conoscere l'autenticazione SSH basata su chiavi. Questo metodo è molto più sicuro e pratico rispetto all'uso delle normali password per accedere al server.
Le chiavi SSH funzionano come una stretta di mano digitale e dimostrano la Sua identità senza dover digitare ogni volta una password.
La magia delle chiavi pubbliche e private
L'autenticazione tramite chiavi SSH si basa su una coppia di chiavi crittografiche:
- Chiave privata: questa chiave rimane sul computer locale e deve essere mantenuta segreta. La consideri come la chiave unica della Sua serratura digitale.
- Chiave pubblica: questa chiave viene collocata sul server a cui desidera accedere. È come una serratura speciale che può essere aperta solo dalla Sua chiave privata.
Quando prova a connettersi, il server invia una richiesta al client, che usa quindi la chiave privata per dimostrare la propria identità.
Generazione delle chiavi SSH
Può generare la propria coppia di chiavi SSH usando il comando ssh-keygen sul computer locale. Per impostazione predefinita, viene creata una coppia di chiavi RSA.
Quando richiesto, può scegliere una passphrase per proteggere la chiave privata. In questo modo aggiunge un ulteriore livello di sicurezza, poiché dovrà inserire la passphrase prima di usare la chiave.
ssh-keygenPersonalizzazione della generazione delle chiavi
Per una maggiore sicurezza, è consigliabile usare tipi di chiave più recenti, come ED25519. Può anche specificare un nome file personalizzato per le chiavi.
-t ed25519: specifica l'algoritmo ED25519.-f ~/.ssh/my_server_key: crea i file denominatimy_server_keyemy_server_key.pub.
Usi sempre una passphrase complessa per la chiave privata!
ssh-keygen -t ed25519 -f ~/.ssh/my_server_keyComprendere i file delle chiavi
Dopo la generazione, le chiavi vengono generalmente memorizzate nella directory ~/.ssh/ del computer locale. Troverà due file:
id_ed25519(oid_rsa): questa è la Sua chiave privata. La protegga con la massima cura e non la condivida mai.id_ed25519.pub(oid_rsa.pub): questa è la Sua chiave pubblica. È il file che copierà sul server.
Anche i permessi di questi file sono molto importanti per la sicurezza!
Distribuzione semplice della chiave pubblica
Il modo più semplice per trasferire la chiave pubblica su un server consiste nell'usare il comando ssh-copy-id. Questo comando copia in modo sicuro la chiave pubblica nel file ~/.ssh/authorized_keys del server.
Dovrà usare la password la prima volta che esegue questo comando per un nuovo server. In seguito, spesso non sarà più necessario accedere con la password.
ssh-copy-id user@your_server_ipDistribuzione manuale della chiave pubblica
Se ssh-copy-id non è disponibile o preferisce un metodo manuale, può copiare personalmente la chiave pubblica sul server.
Per prima cosa, verifichi che la directory ~/.ssh esista e disponga dei permessi corretti (700) sul server. Quindi aggiunga la chiave pubblica al file ~/.ssh/authorized_keys (permessi 600).
cat ~/.ssh/id_ed25519.pub | ssh user@your_server_ip \
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"Connessione con le nuove chiavi
Una volta trasferita la chiave pubblica sul server, può connettersi usando SSH. Se ha usato il nome predefinito della chiave, ad esempio id_rsa o id_ed25519, SSH la troverà automaticamente.
Se ha usato un nome personalizzato, ad esempio my_server_key, dovrà specificarlo usando l'opzione -i.
ssh -i ~/.ssh/my_server_key user@your_server_ipDisabilitazione dell'accesso con password per la sicurezza
Per una maggiore sicurezza, è fortemente consigliato disabilitare l'autenticazione tramite password sul server una volta che l'accesso basato su chiavi funziona correttamente.
Modifichi il file di configurazione del demone SSH (/etc/ssh/sshd_config) sul server, cambi PasswordAuthentication yes in no e riavvii il servizio SSH, ad esempio con sudo systemctl restart sshd o sudo service ssh restart.
# On the server, edit /etc/ssh/sshd_config
PasswordAuthentication no
# Then restart SSH service
sudo systemctl restart sshdVerifica dell'autenticazione tramite chiavi
Ha imparato come funziona l'autenticazione SSH basata su chiavi, come generare le chiavi e come trasferirle. Mettiamo alla prova le Sue conoscenze!
Riepilogo: proteggere SSH con le chiavi
Ottimo lavoro! Ha acquisito padronanza dell'autenticazione SSH basata su chiavi. Ha imparato:
- La differenza tra chiavi pubbliche e private.
- Come generare coppie di chiavi usando
ssh-keygen. - Come trasferire la chiave pubblica su un server con
ssh-copy-ido manualmente. - Come connettersi in modo sicuro senza password.
- Perché e come disabilitare l'autenticazione tramite password sul server.
Le chiavi SSH sono uno strumento fondamentale per gestire i server in modo sicuro ed efficiente. Continui a esercitarsi!
Impara Linux Server Deployment & SSH Mastery con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 12
- Lezioni
- 48
Domande Frequenti
La lezione «Autenticazione SSH basata su chiavi» è gratuita?
Sì — il testo completo di «Autenticazione SSH basata su chiavi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Server Deployment & SSH Mastery, passa a CoddyKit PRO. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.
Cosa imparerò in «Autenticazione SSH basata su chiavi»?
Generate coppie di chiavi SSH, distribuite le chiavi pubbliche sui server e disabilitate l'autenticazione tramite password per una maggiore sicurezza. Eserciti Linux Server Deployment & SSH Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Linux Server Deployment & SSH Mastery?
Non è richiesta alcuna esperienza precedente. Linux Server Deployment & SSH Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Autenticazione SSH basata su chiavi»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Linux Server Deployment & SSH Mastery?
Sì. Ogni lezione Linux Server Deployment & SSH Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Comprendere il protocollo SSH
- Configurazione del client SSH
- Autenticazione SSH basata su chiavi
- Mettere in sicurezza il server SSH