coldwa.st
Tutte le guideProgrammazioneWebDatiStrumentiDatabaseHaskellConcettiCabal e buildToolchainCompilatorePrestazioniEditor e HLS

Programmazione · Server · sicurezza

Cos’è SSH?

Di ColdwastAggiornato il 22 giugno 20268 min di lettura#ssh#servers#security
Righe di codice sorgente e una porta di rete su uno schermo scuro
SSH è il modo standard con cui gli sviluppatori aprono una sessione sicura e cifrata su una macchina remota e ci lavorano come se fossero seduti davanti.

Nel momento in cui affitti un VPS o distribuisci su un server remoto, ti scontri sempre con la stessa domanda: come accedi davvero ed esegui comandi su una macchina che vive in un data center? La risposta è quasi sempre SSH. Questa guida spiega cos’è SSH, come mantiene sicura la tua sessione e la manciata di comandi che ti servono davvero.

La definizione breve

SSH – Secure Shell – è un protocollo per accedere a un computer remoto ed eseguire comandi su una connessione cifrata. Ti dà un terminale su una macchina che si trova altrove, come se fosse proprio davanti a te, e cifra tutto ciò che passa tra te e il server. Quella cifratura è il punto centrale: ha sostituito vecchi strumenti come Telnet, che inviavano password e comandi in chiaro, leggibili da chiunque sulla rete.

Come funziona SSH

Quando ti connetti, il tuo client SSH e il server eseguono un rapido handshake. Si accordano sulle impostazioni di cifratura e creano una chiave segreta condivisa, così il resto della sessione resta privato. Il server dimostra anche la propria identità con una sua chiave, ed è per questo che il client ti avvisa la prima volta che vede un server nuovo. Dopodiché ti autentichi – dimostri chi sei – e ottieni un prompt sulla macchina remota. Da quel momento ogni tasto premuto e ogni risposta sono cifrati.

Un armadio server pieno di cavi di rete e bretelle di patch
SSH è il modo in cui raggiungi server come questi. Ti connetti dal tuo portatile e controlli la macchina remota su un canale cifrato.

Password vs chiavi SSH

Puoi accedere in due modi. Una password è semplice ma più debole: può essere indovinata o forzata a forza bruta, e i bot ci provano sui server pubblici tutto il giorno. Le chiavi SSH sono il modo migliore. Generi una coppia di file: una chiave privata che resta sul tuo computer e una chiave pubblica che copi sul server. Il server poi ti fa entrare solo se la tua chiave privata corrisponde, e la chiave privata non lascia mai la tua macchina. Le chiavi sono più sicure e più comode, perché eviti di digitare una password ogni volta.

I comandi che usi davvero

  • Connettersi: ssh user@server-address apre una sessione sulla macchina remota.
  • Creare una coppia di chiavi: ssh-keygen crea la tua chiave privata e quella pubblica.
  • Copiare la chiave su un server: ssh-copy-id user@server-address imposta l’accesso con chiave.
  • Copiare file: scp file user@server:/path sposta i file sullo stesso canale sicuro.

Questi quattro coprono gran parte del lavoro quotidiano. Ti connetti, gestisci i tuoi container o il codice e sposti i file avanti e indietro, tutto cifrato.

Dove incontri SSH

SSH è ovunque nello sviluppo. Lo usi per gestire un VPS o un server cloud, per inviare e scaricare codice con Git su SSH, per distribuire app e per aprire un tunnel sicuro. Se un compito coinvolge una macchina remota, di solito SSH è il modo per raggiungerla. Impararlo una volta sola ripaga su ogni server che toccherai.

I compromessi onesti

SSH è sicuro, ma la sicurezza dipende comunque da te. Lasciare attivo l’accesso con password, o esporre la porta predefinita con una password debole, è il modo in cui i server vengono violati. La configurazione sicura è ben nota: usa le chiavi SSH, disattiva l’accesso con password e tieni protetta la tua chiave privata. Anche la riga di comando, all’inizio, è uno scoglio per i principianti. Ma le basi si imparano in fretta, e la competenza si trasferisce a ogni server e piattaforma cloud che userai.

Domande frequenti

Cos’è SSH in parole semplici?

SSH, o Secure Shell, è un modo per accedere a un computer che si trova altrove ed eseguire comandi su di esso tramite una connessione cifrata. Ti dà un terminale su una macchina remota come se fosse davanti a te, mentre cifra tutto ciò che viene inviato tra te e il server, così nessuno sulla rete può leggerlo.

Qual è la differenza tra una password SSH e una chiave SSH?

Una password è un segreto che digiti e può essere indovinata o forzata a forza bruta dai bot. Una chiave SSH è una coppia di file: una chiave privata tenuta sulla tua macchina e una chiave pubblica messa sul server. Entri solo se corrispondono, e la chiave privata non lascia mai il tuo computer, il che rende le chiavi più sicure e più comode delle password.

Quale porta usa SSH?

SSH usa di default la porta TCP 22. Alcuni amministratori la cambiano con una porta diversa per ridurre i tentativi di accesso automatici, ma è un piccolo ostacolo più che vera sicurezza. Le protezioni reali sono usare le chiavi SSH e disattivare l’accesso con password, non nascondere la porta.

SSH è sicuro?

Sì, SSH è sicuro se configurato correttamente, perché cifra l’intera sessione. La maggior parte delle violazioni deriva da una configurazione debole, non da SSH in sé – di solito l’accesso con password lasciato attivo con una password indovinabile. Usare le chiavi SSH, disattivare l’accesso con password e proteggere la chiave privata lo rende molto sicuro.

Guida indipendente, mantenuta dalla comunità. coldwa.st è un sito di risorse di programmazione; questo articolo è uno scritto esplicativo nuovo e originale sul protocollo SSH. I comandi mostrati sono l’uso standard di OpenSSH; consulta la documentazione del tuo client e server per i dettagli specifici.
Consigliato

Un server su cui esercitarti con SSH

Il modo migliore per imparare SSH è avere un vero server a cui accedere. Un VPS o server cloud ti dà accesso root su SSH per distribuire siti, API o container. Infomaniak – un fornitore svizzero rispettoso della privacy – offre VPS e server cloud a cui puoi connetterti e che puoi gestire interamente via SSH.

Scopri Infomaniak Cloud →

Link di affiliazione – sostiene queste guide gratuite.

Sfoglia altre spiegazioni chiare nel nostro indice delle guide.