J'ai peu de systèmes clients sur lesquels j'ai besoin de pousser la clé ssh et de me connecter à partir de mon serveur sans invite d'authentification.
Tout d’abord, sur le serveur, j’ai créé la clé ssh ci-dessous, qui a réussi
]# ssh-keygen -t rsa -N "" -f my.key
Deuxièmement, j'ai essayé de copier la clé de publication mais cela a échoué sans erreur d’identité. Est-ce que je fais un faux pas ici?
]# ssh-copy-id my.key.pub 10.10.1.1
/usr/bin/ssh-copy-id: ERROR: No identities found
Vous devez utiliser l'indicateur -i
:
ssh-copy-id -i my.key.pub 10.10.1.1
De la page de manuel :
Si l'option -i est donnée, le fichier d'identité (par défaut ~/.ssh/id_rsa.pub) est utilisé, qu'il y ait ou non des clés dans votre ssh-agent. Sinon, si ceci: ssh-add -L fournit une sortie, il l’utilise de préférence au fichier d’identité.
Exécuter la commande suivante
# ssh-add
Si cela donne l'erreur suivante: Impossible d'ouvrir une connexion à votre agent d'authentification
Pour supprimer cette erreur, exécutez la commande suivante:
# eval `ssh-agent`
Générer des clés SSH sur le client l'a résolu pour moi
$ ssh-keygen -t rsa
Ssh-copy-id ne peut pas localiser le fichier id_rsa.pub généré par ssh-keygen sur votre système. Utilisez la commande suivante pour terminer:
locate *.pub
ssh-copy-id -i /home/user_name/.ssh/id_rsa.pub hostname
Vous devez spécifier la clé à l'aide de l'option -i.
ssh-copy-id -i your_public_key user@Host
Merci.
Le moyen le plus simple est de:
ssh-keygen
[enter]
[enter]
[enter]
cd ~/.ssh
ssh-copy-id -i id_rsa.pub USERNAME@SERVERTARGET
Att:
C'est très très simple.
Dans le manuel de "ss-keygen" explique:
"DESCRIPTION Ssh-keygen génère, gère et convertit les clés d’authentification pour ssh (1). Ssh-keygen peut créer des clés RSA à utiliser par les protocoles SSH versions 1 et Les clés DSA, ECDSA ou RSA à utiliser par le protocole SSH version 2. Le type de clé à générer est spécifié avec l'option -t. Si elle est invoquée sans aucun argument, ssh-keygen générera une clé RSA à utiliser dans les connexions de protocole SSH 2. "
Old post mais je suis venu avec ce problème aujourd'hui, fini par googler et je me suis retrouvé ici. J'avais tout compris moi-même, mais je pensais partager mon problème et ma solution dans mon cas pour aider quiconque aurait le même problème.
Problème:
[root@centos [username]]# ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa):
J'ai juste frappé
/usr/bin/ssh-copy-id: ERROR: No identities found
Solution:
Enter file in which to save the key (/root/.ssh/id_rsa): **/home/[username]/id_rsa**
Assurez-vous que si vous faites cela en tant que root, vous copiez la clé dans le répertoire utilisateur avec lequel vous souhaitez vous connecter. PAS le répertoire utilisateur root.
J'exécutais cette opération sur la machine. Je suppose donc que ssh-copy-id pointe simplement sur le répertoire dans lequel vous êtes connecté par défaut.
J'espère que cela aide quelqu'un.
En réalité, les problèmes sur l'un des ordinateurs Ubuntu sont la commande ssh-keygen qui n'a pas été exécutée correctement. J'ai essayé de courir à nouveau et ai navigué dans /home/user1/.ssh et capable de voir les clés id_rsa et id_rsa.pub. puis essayé la commande ssh-copy-id et cela fonctionnait bien.
est venu sur celui-ci, sur un existant compte avec clé privée que j'ai copié manuellement depuis ailleurs. de sorte que l'erreur est parce que la clé public est manquante
si simplement générer un de privé
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub