Guida alle tecnologie

SSH su Mac: guida completa con Terminal

6 min read Sistemi Aggiornato 25 Sep 2025
SSH su Mac: guida completa con Terminal
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.

Mac con Terminal e connessione SSH attiva

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

  1. Verifica l’indirizzo IP o il nome di dominio del server remoto.
  2. Apri Terminal sul Mac.
  3. 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:

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:

  1. 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.

  1. 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'
  1. 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:

  1. Aprire Terminal e provare una connessione base
  2. Generare una coppia di chiavi ed25519
  3. Copiare la chiave pubblica sul server e testare l’accesso
  4. Disabilitare l’autenticazione con password sul server
  5. 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.

Autore
Redazione

Materiali simili

Hotmail in Thunderbird: configurazione POP3
Email

Hotmail in Thunderbird: configurazione POP3

Come visualizzare e cancellare la cronologia di YouTube
Privacy

Come visualizzare e cancellare la cronologia di YouTube

Putlocker non funziona? Guida rapida per risolvere
Streaming

Putlocker non funziona? Guida rapida per risolvere

SSH su Mac: guida completa con Terminal
Sistemi

SSH su Mac: guida completa con Terminal

Installare IIS su Windows Server — Guida rapida
Windows Server

Installare IIS su Windows Server — Guida rapida

Cronologia YouTube: visualizzare, cancellare e mettere in pausa
Privacy

Cronologia YouTube: visualizzare, cancellare e mettere in pausa