Crea una chiave ssh:
Comando:
ssh-keygen -t rsa –P ""
Spostamento della chiave in chiave autorizzata:
Comando:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Crea una chiave ssh:
Comando:
ssh-keygen -t rsa –P ""
Spostamento della chiave in chiave autorizzata:
Comando:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Risposte:
Devi creare la .ssh
directory e il authorized_keys
file la prima volta.
Crea la .ssh
directory:
mkdir ~/.ssh
Imposta le autorizzazioni giuste:
chmod 700 ~/.ssh
Crea il authorized_keys
file:
touch ~/.ssh/authorized_keys
Imposta le autorizzazioni giuste:
chmod 600 ~/.ssh/authorized_keys
Le autorizzazioni sono importanti! Non funzionerà senza le giuste autorizzazioni!
Ora puoi aggiungere la chiave pubblica al authorized_keys
file:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Devi aggiungere la chiave pubblica del tuo computer al authorized_keys
file del computer a cui vuoi accedere usando le chiavi SSH !
Come menzionato terdon, puoi anche usare questo comando:
ssh-copy-id user@host
Ciò inserirà il tuo id_rsa.pub
(nella tua ~/.ssh
directory) nel authorized_keys
file del computer remoto , creando la .ssh
directory e il authorized_keys
file con le autorizzazioni giuste, se necessario.
cat
farlo, ecco a cosa ssh-copy-id
serve.
Nel caso in cui ti sia stata inviata la chiave pubblica in un'e-mail per l'installazione su un server remoto:
1) SSH nel server. Ho usato PuTTY su Windows.
2) Imposta il tasto:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
Assicurati di copiare esattamente la chiave e incollarla in una nuova riga nella finestra dell'editor. Verifica che occupi una sola riga e salva.
chmod 600 ~/.ssh/authorized_keys
Dal momento che non ho abbastanza reputazione, lo sto aggiungendo qui. Oltre alla risposta di Louis Matthijssen se non sei ancora in grado di accedere tramite ssh come utente che hai creato, come
ssh username@host
quindi ciò potrebbe essere dovuto all'assenza dell'autorizzazione del proprietario che è necessario aggiungere alla cartella /home/username/.ssh. Ho avuto lo stesso problema e puoi concedere questa autorizzazione come:
chown -R username:username /home/username/.ssh
Questo può probabilmente accadere semplicemente perché stavi creando la directory e impostando le autorizzazioni come root , ma non come nome utente con cui vuoi accedere al server.
Spero che questo aiuti qualcuno.
Questo può anche fallire se, quando si crea la chiave con ssh-keygen
, si assegna un nome file. Ho inserito un nome my-ssh-file-name
e ha scritto la chiave /Users/MyUserName
invece della .ssh
cartella. Se si lascia vuoto il nome file, verrà scritto .ssh
come previsto.
~/.ssh/authorized_keys
sono le chiavi di altri computer che si è connessi alla fiducia /, non la propria chiave.