SSH spiegato con esempi

Comandi e indicazioni pratiche per connessioni, gestione delle chiavi e trasferimento di file. Un contenuto indipendente dalla guida di Secure Pipes.

Salvo diversa indicazione, eseguire gli esempi sul Mac o computer Linux locale in zsh o bash. alice e *.example.com sono segnaposto. Windows OpenSSH presenta differenze per percorsi, agenti e strumenti disponibili. Verificare la versione con ssh -V e il manuale locale con man <comando>.

Connessioni e tunnel

ssh

Accedere a server, eseguire comandi e creare tunnel cifrati.

Chiavi e autenticazione

ssh-keygen

Generare coppie di chiavi, verificare impronte e cambiare la passphrase.

ssh-copy-id

Installare la chiave pubblica in authorized_keys dell’account remoto.

ssh-agent

Rendere disponibili ai client SSH identità di firma tramite un agente.

ssh-add

Aggiungere, consultare e rimuovere identità da un agente esistente.

ssh-keyscan

Raccogliere chiavi host del server per una verifica successiva.

Trasferimento di file

scp

Copiare file attraverso una connessione SSH.

sftp

Trasferire file in modo interattivo tramite SSH.

Configurazione

~/.ssh/config

Salvare opzioni ricorrenti nella configurazione del client.

sshd_config

Configura il server OpenSSH: ascolto, autenticazione, inoltro, controllo degli accessi e logging.

Sicurezza del server

Fail2ban

Installa e configura Fail2ban per bloccare temporaneamente ripetuti errori di autenticazione SSH su un server Ubuntu.

SSH OTP

Aggiungi codici monouso basati sul tempo all'accesso SSH utilizzando Linux PAM e il modulo PAM di Google Authenticator.

Protezione SSH

Controllare e limitare l’accesso SSH a un server Ubuntu.

Firewall SSH

Esaminare le regole UFW e limitare le origini SSH.

Sicurezza delle chiavi SSH

Creare, distribuire, verificare e sostituire le chiavi SSH.

Ripristino SSH

Preparare il ripristino e controllare la configurazione del server SSH.

Appendice

Glossario

Spiegazioni dei termini relativi a SSH, autenticazione e reti.