Come aggiungere la chiave RSA al file authorized_keys?


93

Ho creato una chiave pubblica RSA e voglio aggiungerla al authorized_keysfile, ma non esiste un file di questo tipo nella mia macchina Ubuntu 11.10.

Come posso aggiungere la chiave a authorized_keys?

Risposte:


110

Assicurati di eseguire la soluzione di Michael Krelin come segue

cat <your_public_key_file> >> ~/.ssh/authorized_keys

Nota il doppio >senza il doppio >il contenuto esistente di authorized_keys verrà sovrascritto (nuked!) E questo potrebbe non essere desiderabile


È necessario includere come applicare correttamente le informazioni sulla chiave pubblica, semplicemente copiandole e incollandole non funzionerà. Ad esempio:
einarc

4
Puoi spiegare perché copiare / incollare non funzionerà? Sono sinceramente curioso.
mcsilvio

Ricorda, se esegui systemd per riavviare il servizio ssh, o non risuccherà le nuove chiavi sudo systemctl restart sshde non funzionerà
Kes

52
mkdir -p ~/.ssh/

Per sovrascrivere authorized_keys

cat your_key > ~/.ssh/authorized_keys

Da aggiungere alla fine di authorized_keys

cat your_key >> ~/.ssh/authorized_keys

Ho generato la chiave sul lato client e copiata quella chiave sulla macchina server, ma utilizzando il comando ssh 192.168.2.7 non consente l'accesso.
Raji AC

Non consente il login dicendo cosa?
Michael Krelin - hacker

quando si esegue questo comando viene richiesta la password del server. voglio un accesso senza password
Raji AC

L'id (parte pub) è in ~ / .ssh / authorized_keys sul telecomando? L'id (parte non pub) viene utilizzato da ssh durante il tentativo di accesso? Puoi provare a specificarlo esplicitamente con -i. Inoltre, puoi provare ssh -ve puoi controllare i permessi dei tuoi authorized_keys sul telecomando. E controlla i log lì.
Michael Krelin - hacker

Possiamo in qualche modo verificare se la chiave è già stata aggiunta? Come è fatto da ssh-copy-id per il sistema remoto
Dmitriusan

33

So che sto rispondendo troppo tardi, ma per chiunque altro ne abbia bisogno, esegui il comando seguente dalla tua macchina locale

cat ~/.ssh/id_rsa.pub | ssh user@192.168.1.1 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

questo ha funzionato perfettamente bene. Tutto quello che devi fare è solo sostituire

utente@192.168.1.1

con il tuo utente per quel particolare host


33

C'è già un comando nella suite ssh per farlo automaticamente per te. Ad esempio, accedi a un host remoto e aggiungi la chiave pubblica al file authorized_keys del computer.

ssh-copy-id -i /path/to/key/file user@host.com

Se la chiave che stai installando è ~/.ssh/id_rsa, puoi persino eliminare -icompletamente il flag.

Molto meglio che farlo manualmente!


2
>ssh user@serverip -p portnumber 
>sudo bash (if user does not have bash shell else skip this line)
>cd /home/user/.ssh
>echo ssh_rsa...this is the key >> authorized_keys
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.