Comment ajouter une clé RSA au fichier allowed_keys?

90

J'ai créé une clé publique RSA et je souhaite l'ajouter au authorized_keysfichier, mais il n'y a pas de fichier de ce type dans ma machine Ubuntu 11.10.

Comment puis-je ajouter la clé à authorized_keys?

Raji AC
la source

Réponses:

105

Assurez-vous que lors de l'exécution de la solution de Michael Krelin, procédez comme suit

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

Notez que le double >sans le double >le contenu existant de authorised_keys sera écrasé (nuked!) Et cela peut ne pas être souhaitable

donden1
la source
Vous devez inclure comment récupérer correctement les informations de clé publique, il ne suffit pas de les copier et de les coller. Par exemple:
einarc
4
Pouvez-vous expliquer pourquoi copier / coller ne fonctionne pas? Je suis sincèrement curieux.
mcsilvio
50
mkdir -p ~/.ssh/

Pour écraser les clés_autorisées

cat <your_key >~/.ssh/authorized_keys

Pour ajouter à la fin de authorised_keys

cat <your_key >>~/.ssh/authorized_keys
Michael Krelin - hacker
la source
J'ai généré la clé côté client et copié cette clé sur la machine serveur, mais en utilisant la commande ssh 192.168.2.7, elle ne permet pas la connexion.
Raji AC
Ne permet pas de se connecter en disant quoi?
Michael Krelin - hacker
lors de l'exécution de cette commande, il demande le mot de passe du serveur.Je veux une connexion sans mot de passe
Raji AC
L'id (partie pub) est-il dans ~ / .ssh / allowed_keys sur la télécommande? L'ID (partie non pub) est-il utilisé par ssh lors de la tentative de connexion? Vous pouvez essayer de le spécifier explicitement avec -i. En outre, vous pouvez essayer ssh -vet vous pouvez vérifier les autorisations de vos authorised_keys sur la télécommande. Et vérifiez les journaux là-bas.
Michael Krelin - hacker
Pouvons-nous en quelque sorte vérifier si la clé est déjà ajoutée? Comme il est fait par ssh-copy-id pour un système distant
Dmitriusan
32

Je sais que je réponds trop tard, mais pour toute personne qui en a besoin, exécutez la commande suivante depuis votre ordinateur local

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

cela a parfaitement fonctionné. Tout ce que vous avez à faire est juste de remplacer

[email protected]

avec votre propre utilisateur pour cet hôte particulier

Faisal Sarfraz
la source
31

Il existe déjà une commande dans la suite ssh pour le faire automatiquement pour vous. Ie connectez-vous à un hôte distant et ajoutez la clé publique à ce fichier de clés_autorisées de l'ordinateur.

ssh-copy-id -i /path/to/key/file [email protected]

Si la clé que vous installez est, ~/.ssh/id_rsavous pouvez même supprimer -icomplètement le drapeau.

Bien mieux que de le faire manuellement!

tkarls
la source
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
i_tanova
la source