0Pricing
Linux Command Line & Bash Scripting Mastery · Lezione

Fondamenti di Secure Shell (SSH)

Impari a connettersi in modo sicuro a macchine Linux remote, inclusi l’autenticazione basata su chiavi e la configurazione di base del client SSH.

Fondamenti di Secure Shell (SSH) è una lezione Linux Command Line & Bash Scripting Mastery gratuita su CoddyKit. Questa è la lezione 2 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 Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.

Che cos'è Secure Shell (SSH)?

Benvenuto nei fondamenti di Secure Shell (SSH)! SSH è un potente protocollo di rete che consente di connettersi in modo sicuro a un computer remoto attraverso una rete non protetta.

Lo si può immaginare come un tunnel sicuro per comandi e dati. È essenziale per gestire server Linux e istanze cloud e persino per accedere da remoto al proprio ambiente di sviluppo.

Perché usare SSH? La sicurezza prima di tutto

Prima di SSH, le connessioni remote erano spesso non cifrate: chiunque avrebbe potuto intercettare password e dati. SSH risolve il problema usando una crittografia avanzata.

  • Riservatezza: i dati sono cifrati e rimangono nascosti da occhi indiscreti.
  • Integrità: garantisce che i dati non vengano manomessi durante il trasferimento.
  • Autenticazione: verifica l'identità sia del client sia del server.

È lo standard del settore per l'amministrazione remota.

SSH: modello client-server

SSH funziona secondo un modello client-server. Lei, in quanto utente, esegue un client SSH sul computer locale. Questo client si connette a un server SSH (spesso chiamato `sshd`) in esecuzione sul computer remoto.

Quando avvia una connessione, client e server eseguono un "handshake" per stabilire un canale sicuro e cifrato prima di scambiare dati.

Comando di base per una connessione SSH

Il modo più semplice per connettersi a un server remoto tramite SSH consiste nell'usare il comando ssh seguito dal nome utente e dall'host (indirizzo IP o hostname).

Il formato è ssh username@hostname_or_IP. Ad esempio, per connettersi a un server all'indirizzo 192.168.1.100 come utente coddy:

ssh coddy@192.168.1.100

Prima connessione e fingerprint

La prima volta che si connette a un nuovo server, SSH le chiederà di verificare la "fingerprint" del server. Si tratta di un identificatore univoco che aiuta a prevenire gli attacchi "man-in-the-middle".

Verifichi sempre la fingerprint, se possibile (ad esempio chiedendo all'amministratore del server). Se corrisponde, digiti yes per aggiungere il server al file ~/.ssh/known_hosts.

Porta SSH e porte personalizzate

Per impostazione predefinita, SSH usa la porta TCP 22. Tuttavia, per motivi di sicurezza, gli amministratori dei server configurano spesso SSH affinché ascolti su una porta diversa da quella standard.

Se il server remoto usa una porta personalizzata (ad esempio la porta 2222), può specificarla con l'opzione -p:

ssh -p 2222 coddy@myremoteserver.com

Introduzione all'autenticazione basata su chiavi

Sebbene l'autenticazione tramite password funzioni, l'autenticazione SSH basata su chiavi è molto più sicura e pratica. Utilizza una coppia di chiavi crittografiche:

  • Chiave pubblica: memorizzata sul server remoto.
  • Chiave privata: memorizzata in modo sicuro sul computer locale.

Quando si connette, il server invia una richiesta al client, che usa la chiave privata per dimostrare la propria identità senza mai inviare la chiave privata attraverso la rete.

Generare coppie di chiavi SSH

Può generare una coppia di chiavi SSH usando il comando ssh-keygen. Il comando le chiederà dove salvare le chiavi (il valore predefinito è ~/.ssh/id_rsa) e una passphrase opzionale.

Una passphrase aggiunge un ulteriore livello di sicurezza alla chiave privata. È fortemente consigliata!

ssh-keygen -t rsa -b 4096

Copiare la chiave pubblica

Dopo aver creato una coppia di chiavi, deve copiare la sua chiave pubblica sul server remoto. Il modo più semplice consiste nell'usare ssh-copy-id. Questo comando accede al server remoto (inizialmente usando la password) e aggiunge la chiave pubblica al file ~/.ssh/authorized_keys.

Dopodiché potrà connettersi usando la chiave invece della password!

ssh-copy-id coddy@myremoteserver.com

Verifica rapida: nozioni di base su SSH

Quali delle seguenti affermazioni su SSH sono vere?

Riepilogo: fondamenti di SSH

In questa lezione ha imparato i fondamenti di Secure Shell (SSH)!

  • SSH fornisce accesso remoto sicuro e cifrato.
  • Funziona secondo un modello client-server e usa generalmente la porta 22.
  • Può connettersi con ssh user@host.
  • L'autenticazione basata su chiavi, che usa coppie di chiavi pubblica/privata (generate con ssh-keygen e copiate con ssh-copy-id), offre una sicurezza superiore rispetto alle password.

Ora esploreremo comandi di rete e strumenti per il trasferimento dei file ancora più potenti!

Domande Frequenti

La lezione «Fondamenti di Secure Shell (SSH)» è gratuita?

Sì — il testo completo di «Fondamenti di Secure Shell (SSH)» è 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 Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.

Cosa imparerò in «Fondamenti di Secure Shell (SSH)»?

Impari a connettersi in modo sicuro a macchine Linux remote, inclusi l’autenticazione basata su chiavi e la configurazione di base del client SSH. Eserciti Linux Command Line & Bash Scripting 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 Command Line & Bash Scripting Mastery?

Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting 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 2 di 4.

Quanto tempo richiede la lezione «Fondamenti di Secure Shell (SSH)»?

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 Command Line & Bash Scripting Mastery?

Sì. Ogni lezione Linux Command Line & Bash Scripting 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

  1. Utilità di rete di base (ping, ip, netstat)
  2. Fondamenti di Secure Shell (SSH)
  3. SCP e Rsync per il trasferimento dei file
  4. Autenticazione SSH con chiavi e file di configurazione
← Torna a Linux Command Line & Bash Scripting Mastery