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?

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


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

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 user@192.168.1.1 "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

user@192.168.1.1

avec votre propre utilisateur pour cet hôte particulier


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 user@host.com

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!


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.