Dovresti usare le chiavi SSH per autenticare piuttosto che mettere la tua password sulla riga di comando dato che è estremamente non sicuro.
Il modo in cui funziona è una volta che hai configurato le tue chiavi SSH, tutto ciò che devi fare è emettere il comando:
ssh user@host
e senza digitare un'altra cosa, verrai automaticamente loggato.
Copia la chiave pubblica SSH su Mac / FreeBSD / Linux da macOS
Si presume 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, copia la chiave (tieni presente che la directory "home" è diversa tra macOS, Linux, BSD, ecc.):
Utilizzo di SCP:
scp ~/.ssh/id_rsa.pub username@hostname:/Users/username/.ssh/
O semplicemente cat-ing il file in authorized_keys
(preferisco questo metodo):
cat id_rsa.pub | ssh username@hostname ' cat >>.ssh/authorized_keys'
(Il tuo nome chiave potrebbe essere diverso) Se la directory .ssh non esiste sul server remoto dovrai effettuare il login e crearla.
Ora la chiave è stata copiata dal mac al server remoto .
Imposta le autorizzazioni corrette per la chiave pubblica SSH sul server remoto:
chmod 600 ~/.ssh/id_rsa.pub
Quindi aggiungi la chiave al file authorized_keys SSH, se il file non esiste, creala.
Se il file authorized_keys
esiste già in ~/.ssh
, usa il seguente comando:
cat id_rsa.pub >> authorized_keys
Se il file non esiste, inserisci i seguenti comandi:
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys
chown user:group authorized_keys
Genera chiave pubblica / privata SSH su macOS
Apri il Terminale andando su Applicazioni - > Utilità - > Terminale
Nel terminale, usa il seguente comando 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
):
Lascia vuoto per creare la chiave nella posizione predefinita, che è /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 è stata generata.
Ora, tieni presente che se inserisci una passphrase ti verrà richiesto di inserirla ogni volta che ti connetti. L'utility ssh-agent
manterrà la passphrase in memoria alleggerendo la necessità di inserirla manualmente ogni volta che ci si connette mentre si è nella stessa sessione. Per maggiori dettagli vedi man ssh-agent