Dovresti usare le chiavi SSH per autenticarti piuttosto che inserire la tua password nella riga di comando poiché è estremamente insicura.
Il modo in cui funziona è una volta configurate le chiavi SSH, tutto ciò che devi fare è emettere il comando:
ssh user@host
e senza digitare un'altra cosa, si accederà automaticamente.
Copia la chiave pubblica SSH su Mac / FreeBSD / Linux da macOS
Ciò presuppone che tu abbia accesso al server remoto tramite autenticazione basata su password (digitando una password) e che tu abbia già generato la tua coppia di chiavi privata / pubblica (in caso contrario, vedi sotto). Nel seguente esempio, stiamo usando RSA. Per cominciare, copiamo la chiave (tenere presente che la directory "home" differisce tra macOS, Linux, BSD, ecc.):
Utilizzando SCP:
scp ~/.ssh/id_rsa.pub username@hostname:/Users/username/.ssh/
O semplicemente catalogando il file su authorized_keys
(preferisco questo metodo):
cat id_rsa.pub | ssh username@hostname ' cat >>.ssh/authorized_keys'
(Il nome della chiave potrebbe essere diverso) Se la directory .ssh non esiste sul server remoto, dovrai accedere e crearla.
Ora la chiave è stata copiata dal mac al server remoto . Impostare le autorizzazioni corrette per la chiave pubblica SSH sul server remoto:
chmod 600 ~/.ssh/id_rsa.pub
Quindi aggiungere la chiave al file SSH authorized_keys, se il file non esiste crearlo.
Se il file authorized_keys
esiste già in ~/.ssh
utilizzare il seguente comando:
cat id_rsa.pub >> authorized_keys
Se il file non esiste, immettere i seguenti comandi:
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys
chown user:group authorized_keys
Genera chiave SSH pubblica / privata su macOS
Apri il Terminale andando su Applicazioni -> Utilità -> Terminale
Nel terminale, utilizzare il comando seguente per avviare la generazione della chiave
ssh-keygen -t rsa
Successivamente ti verrà richiesto di fornire la posizione in cui desideri creare il file della chiave privata:
Inserisci il file in cui salvare la chiave ( /Users/username/.ssh/id_rsa
):
Lasciare vuoto per creare la chiave nella posizione predefinita, ovvero /Users/username/.ssh/id_rsa
. Il file della chiave pubblica verrà creato nella stessa posizione e con lo stesso nome, ma con l'estensione .PUB.
Dopo ti verrà richiesto di scegliere una passphrase. Questa è la password opzionale per utilizzare la chiave privata.
Enter passphrase (empty for no passphrase):
La tua chiave SSH è generata.
Ora, tieni presente che se inserisci una passphrase ti verrà richiesto di inserirlo ogni volta che ti connetti. L'utilità ssh-agent
manterrà la passphrase in memoria, riducendo la necessità di inserirla manualmente ogni volta che ci si connette mentre ci si trova nella stessa sessione. Per maggiori dettagli vediman ssh-agent