SSH su Mac: guida completa con Terminal

Impara a connetterti in modo sicuro via SSH dal Terminal del Mac: come aprire Terminal, stabilire la connessione, usare l’autenticazione con chiavi, trasferire file con scp e applicare buone pratiche di sicurezza. Include checklist per ruoli, esempi di comandi, risoluzione problemi e passaggi operativi.
Perché usare SSH su Mac
SSH, Secure Shell, è un protocollo che crea un canale cifrato tra il tuo Mac e un altro computer o server remoto. È ideale per amministrazione remota, sviluppo, deploy e trasferimento sicuro di file. Definizione rapida: SSH è il modo standard per accedere alla shell di un server in modo protetto.
Nota importante: l’immagine mostra un Terminal con una sessione SSH attiva e output di comandi di sistema.
Sommario rapido
- Aprire Terminal
- Avviare una connessione SSH
- Autenticazione con password o chiavi
- Trasferire file con scp
- Best practice di sicurezza
1. Aprire Terminal
Puoi avviare Terminal in due modi principali:
- Spotlight: premi Command + Space, digita Terminal e premi Invio.
- Finder: Applicazioni > Utility > Terminal.
Terminal è l’app preinstallata su macOS per eseguire comandi testuali. Se preferisci, puoi usare anche i terminali avanzati (iTerm2), ma i comandi SSH restano gli stessi.
2. Iniziare la connessione SSH
- Verifica l’indirizzo IP o il nome di dominio del server remoto.
- Apri Terminal sul Mac.
- Esegui il comando di base:
ssh username@ip-address
sostituisci username con il nome utente sul server e ip-address con l’IP o il dominio.
Al primo accesso il client mostrerà l’impronta del server e chiederà di confermare scrivendo yes. Quindi ti verrà chiesta la password, a meno che tu non abbia configurato l’autenticazione con chiavi.
Esempi utili
- Porta diversa dalla 22:
ssh -p 2222 [email protected]
- Eseguire un singolo comando remoto:
ssh [email protected] uptime
3. Autenticazione con chiavi SSH (metodo consigliato)
L’autenticazione con chiavi evita di digitare la password e aumenta la sicurezza. Mini metodologia passo a passo:
- Genera la coppia di chiavi sul Mac:
ssh-keygen -t ed25519 -C 'chiave-mac-personale'
Premi Invio per accettare il percorso predefinito ~/.ssh/id_ed25519 e, facoltativamente, imposta una passphrase per proteggere la chiave privata.
- Copia la chiave pubblica sul server remoto:
ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
Se ssh-copy-id non è disponibile su macOS, usa:
cat ~/.ssh/id_ed25519.pub | ssh [email protected] 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys'
- Prova la connessione. Non dovrebbe più chiedere la password se la chiave è stata installata correttamente.
Vantaggi della chiave ed25519: più sicura e più veloce rispetto a RSA per la maggior parte dei casi.
4. Trasferire file via SSH
Usa scp per copie semplici e sftp per sessioni interattive simili a FTP ma cifrate.
- Copiare file locale su server:
scp /percorso/locale/file.txt [email protected]:/percorso/remoto/
- Copiare cartella ricorsivamente:
scp -r ~/progetto [email protected]:~/backup/progetto
- Scaricare file dal server al Mac:
scp [email protected]:/percorso/remoto/file.txt ~/Scaricati/
Per trasferimenti più robusti usa rsync su SSH:
rsync -avz -e ssh ~/progetto [email protected]:/var/www/progetto
5. Comandi utili durante una sessione SSH
- cd directory cambia directory
- ls elenca file e cartelle
- mkdir directory crea nuova cartella
- rm file cancella file
- cp source destination copia file o cartelle
- mv source destination sposta o rinomina
- top o htop monitora processi
Suggerimento: mantieni sessioni separate e nomi identificativi se lavori con molti server.
6. Uscire da una sessione SSH
Per terminare la sessione remote:
- Digita exit e premi Invio
- Oppure premi Control + D
Se la sessione è bloccata, puoi inviare la sequenza di escape di SSH: ~. (tilda seguita da punto) ma questo funziona solo all’inizio di una nuova riga.
7. Risoluzione problemi comuni
Errore host key mismatch
- Messaggio: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
- Causa: l’impronta del server è cambiata (reinstallazione server o attacco MITM)
- Azione: verifica con l’amministratore del server e, se sicuro, rimuovi la vecchia voce da ~/.ssh/known_hosts o usa ssh-keygen -R server.example.com
Permessi delle chiavi non validi
- Assicurati che la directory ~/.ssh abbia permessi 700 e authorized_keys 600
Timeout o connessione rifiutata
- Controlla firewall, porta SSH, e che il servizio sshd sia in esecuzione sul server
ssh-copy-id non disponibile
- Usa il comando cat mostrato nella sezione autenticazione con chiavi
8. Hardening e migliori pratiche di sicurezza
- Disabilita l’accesso con password su server una volta che le chiavi sono installate
- In /etc/ssh/sshd_config impostare PasswordAuthentication no
- Cambia la porta SSH dalla 22 a una porta alta non standard
- Abilita l’accesso solo per utenti necessari usando AllowUsers
- Usa Fail2ban o sistemi di protezione per bloccare tentativi ripetuti
- Mantieni aggiornati client e server SSH
- Proteggi la chiave privata con una passphrase e, se possibile, usa un agente SSH (ssh-agent) per la gestione
Important: prima di modificare sshd_config, assicurati di avere una sessione attiva o accesso alternativo per evitare di bloccarti fuori dal server.
9. Checklist per ruolo
Sviluppatore
- Generare chiave SSH personale
- Testare connessione al server di staging
- Usare agent forwarding con cautela
- Non memorizzare chiavi condivise in repo
Amministratore di sistema
- Abilitare autenticazione con chiavi e disabilitare password
- Configurare firewall e Fail2ban
- Monitorare /var/log/auth.log o equivalente
- Eseguire backup della configurazione SSH
Utente occasionale
- Abilitare Remote Login solo se necessario
- Usare password forti o preferire chiavi
- Evitare di eseguire comandi come root senza necessità
10. Quando usare alternative a SSH
- Trasferimenti di file di grandi dimensioni: considera rsync o soluzioni dedicate come SFTP con ripresa
- Console basata su web o GUI per utenti non tecnici
- VPN per collegare reti prima di usare SSH per scopi interni
Esempi rapidi e cheat sheet
- Connessione base:
ssh username@host
- Connessione con porta personalizzata:
ssh -p 2222 username@host
- Generare chiave ed25519:
ssh-keygen -t ed25519
- Copiare chiave sul server:
ssh-copy-id username@host
- Copiare file al server:
scp file.txt username@host:/percorso/
Diagramma decisionale per scegliere l’autenticazione
flowchart TD
A[Devo accedere spesso al server?] -->|Si| B[Usa chiavi SSH]
A -->|No| C[Password accettabile temporaneamente]
B --> D{La chiave ha passphrase?}
D -->|Si| E[Usa ssh-agent]
D -->|No| F[Considera aggiungere passphrase]
Domande frequenti
Posso fare SSH sul mio Mac da un altro dispositivo
Sì, abilita Remote Login nelle Preferenze di Sistema > Condivisione. Poi usa ssh username@ip-del-mac dal dispositivo remoto.
Come trovo l’indirizzo IP del mio Mac
Preferenze di Sistema > Rete e seleziona l’interfaccia attiva. In alternativa usa in Terminal: ifconfig e cerca l’indirizzo inet dell’interfaccia.
Posso usare SSH senza password
Sì, configura l’autenticazione con chiavi pubblica/privata come descritto nella sezione dedicata.
SSH è sicuro
Sì, SSH cifra il traffico e fornisce integrità. La sicurezza dipende però dalla configurazione: usa chiavi, disabilita password quando possibile e tieni il software aggiornato.
Posso trasferire file via SSH
Sì, usa scp o rsync su SSH. Per sessioni interattive ci sono client SFTP.
Riepilogo e passi successivi
SSH è essenziale per l’amministrazione remota e lo sviluppo. Passi consigliati:
- Aprire Terminal e provare una connessione base
- Generare una coppia di chiavi ed25519
- Copiare la chiave pubblica sul server e testare l’accesso
- Disabilitare l’autenticazione con password sul server
- Implementare protezioni aggiuntive come Fail2ban e firewall
Note finali
- Mantieni sempre copie di backup delle chiavi e delle configurazioni
- Non condividere mai la chiave privata
- Testa le modifiche su un server non critico prima di applicarle in produzione
Grazie per aver letto questa guida: metti in pratica i comandi su un ambiente di test prima di cambiare server di produzione.
Materiali simili

Hotmail in Thunderbird: configurazione POP3

Come visualizzare e cancellare la cronologia di YouTube

Putlocker non funziona? Guida rapida per risolvere

SSH su Mac: guida completa con Terminal

Installare IIS su Windows Server — Guida rapida
