Come abilitare SSH su un Mac dalla riga di comando

Tutti i Mac moderni che eseguono macOS o Mac OS X vengono preinstallati con SSH per impostazione predefinita, ma il daemon SSH (Secure Shell) è disabilitato per impostazione predefinita. Gli utenti Mac esperti possono apprezzare la possibilità di abilitare SSH e disabilitare SSH sono entrambi disponibili interamente dalla riga di comando di Mac OS, consentendo un modo semplice per consentire o impedire connessioni remote in un computer. Non è necessario caricare, scaricare o compilare kext, per attivare SSH dal Terminale su qualsiasi Mac è sufficiente eseguire un comando di installazione del sistema, come mostreremo in questo tutorial.


Una rapida nota a margine; questa guida si applica a tutte le versioni di macOS e Mac OS X, ma è destinata a utenti più avanzati che trascorrono molto tempo nel terminale. Se si desidera attivare e disattivare SSH ed evitare la riga di comando, è possibile farlo abilitando Accesso remoto nel pannello delle preferenze di condivisione su un Mac o arrestando il server lasciandolo deselezionato. Se non usi regolarmente ssh, non c'è motivo di abilitare il server ssh su un Mac.

Come verificare se l'accesso remoto SSH è abilitato in Mac OS tramite Terminale

Vuoi verificare lo stato attuale di SSH su un Mac? Utilizzando la stringa di comando systemsetup possiamo determinare rapidamente se SSH e Accesso remoto sono attualmente abilitati su qualsiasi Mac:

sudo systemsetup -getremotelogin

Se l'accesso remoto e SSH sono attualmente abilitati, il comando e il rapporto diranno "Accesso remoto: On" mentre se SSH è disabilitato e nello stato macOS predefinito, verrà visualizzato "Accesso remoto: disattivato".

Abilita SSH su Mac dalla riga di comando con systemetup

Per attivare rapidamente il server SSH e consentire le connessioni ssh in ingresso al Mac corrente, utilizzare il flag -setremotelogin con systemetup in questo modo:

sudo systemsetup -setremotelogin on

sudo è necessario perché il comando systemsetup richiede i privilegi di amministratore, proprio come quando si abilita Accesso remoto dalle preferenze di condivisione su un Mac per abilitare i server di shell sicuri.

Non vi è alcuna conferma o messaggio che Accesso remoto e SSH siano stati abilitati, ma è possibile utilizzare il summenzionato flag -getmorelogin per verificare e verificare che il server SSH sia effettivamente in esecuzione. E sì, usando -setremotelogin si applica all'abilitazione di entrambi i server ssh e sftp sul Mac.

Una volta che ssh è stato abilitato, qualsiasi account utente o persona che ha un accesso sul Mac corrente può accedervi da remoto usando il comando ssh mirato all'indirizzo IP del Mac in questo modo:

ssh [email protected]

Una volta connesso, l'utente avrà accesso remoto al computer tramite la riga di comando e, se dispongono di un account di amministratore o di una password di amministratore, avranno anche accesso completo all'amministrazione remota.

Disattiva SSH su Mac OS con systemetup

Se si desidera disabilitare i server SSH dalla riga di comando e quindi impedire le connessioni remote, è sufficiente passare "on" a "off" con il flag -setremotelogin di systemsetup in questo modo:

sudo systemsetup -setremotelogin off

Di nuovo, sudo è necessario per disattivare SSH e disabilitare i server ssh e sftp.

Quando esegui correttamente il comando, ti verrà chiesto: "Vuoi davvero disattivare l'accesso remoto? Se lo fai, perderai questa connessione e potrai riaccenderlo solo localmente sul server (sì / no)? " Quindi digita" sì "per confermare, che disabiliterà SSH e anche disconnetterà tutte le connessioni SSH attive al Mac in domanda. Se vuoi evitare di digitare yes / no, magari per l'inclusione in uno script di setup o in altro modo, puoi usare il flag -f per aggirare la domanda in questo modo:

sudo systemsetup -f -setremotelogin off

Allo stesso modo, puoi anche usare -f per saltare qualsiasi richiesta relativa all'abilitazione di SSH.

systemsetup -f -setremotelogin on

Si noti che disattivando SSH o abilitando SSH dalla riga di comando, l'impostazione del pannello delle preferenze di sistema Login remoto nella GUI di Mac OS X verrà regolata in modo da riflettere anche la modifica.