J'ai actuellement une ancienne clé SSH téléchargée sur un serveur. Le problème est que j'ai perdu mon ~/.ssh
répertoire (avec l'original id_rsa
et les id_rsa.pub
fichiers).
Par conséquent, je souhaite supprimer l'ancienne clé SSH directement sur le serveur et en télécharger une nouvelle.
J'ai essayé la commande suivante sans succès:
$> ssh-add -D
Existe-t-il un moyen de supprimer complètement une clé SSH?
ssh-add -d
?Réponses:
Notez qu'il existe au moins deux rapports de bogue pour
ssh-add -d/-D
ne pas supprimer les clés:ssh-add -D
ne supprime pas la clé SSH de lagnome-keyring-daemon
mémoire "ssh-add -D
suppression de toutes les identités ne fonctionne pas. Aussi, pourquoi toutes les identités sont-elles ajoutées automatiquement? "Le problème exact est:
Plus précisément, à propos du problème:
Ce bogue est toujours confirmé dans Ubuntu 14.04.4, il y a à peine deux jours (21 août 2014)
Une solution de contournement possible:
Une autre solution de contournement:
Ce commentaire suggère en fait:
Ryan Lue ajoute un autre cas intéressant dans les commentaires :
C'est le cas lorsque le
keygrip
a été ajouté comme ici .la source
ssh-agent
etssh-add
la réponse sélectionnée? L'affiche originale disait qu'il le voulaitremove the old SSH key directly on the server and upload a new one
. On dirait qu'il veut éditer~/.ssh/authorized_keys
sur l'hôte distant.git clone
utiliser la première clé de la chaîne au lieu de la version dans le fichier de configuration sur la boîte Ubuntu. La mauvaise clé était automatiquement aspirée et transmise à la boîte Debian.id_rsa
etid_rsa.pub
fichiers tout à fait, et la clé était toujours présenter. Il s'avère que gpg-agent les mettait en cache dans un~/.gnupg/sshcontrol
fichier; J'ai dû les supprimer manuellement à partir de là.Si vous essayez d'effectuer une opération liée à ssh et obtenez l'erreur suivante:
Vous pouvez supprimer la clé ssh manquante de votre agent ssh avec les éléments suivants:
la source
Sauf erreur de compréhension, vous avez perdu votre
.ssh
répertoire contenant votre clé privée sur votre machine locale et vous souhaitez donc supprimer la clé publique qui se trouvait sur un serveur et qui permettait la connexion par clé. Dans ce cas, il sera stocké dans le.ssh/authorized_keys
fichier de votre répertoire personnel sur le serveur. Vous pouvez simplement éditer ce fichier avec un éditeur de texte et supprimer la ligne correspondante si vous pouvez l'identifier (encore plus facile si c'est la seule entrée!). J'espère que cette clé n'était pas votre seule méthode d'accès au serveur et que vous disposiez d'un autre moyen de vous connecter et de modifier le fichier. Vous pouvez ajouter manuellement une nouvelle clé publique auauthorised_keys
fichier ou l'utiliserssh-copy-id
. Dans tous les cas, vous aurez besoin de la configuration de l'authentification par mot de passe pour votre compte sur le serveur, ou d'une autre méthode d'identité ou d'accès pour accéder auauthorized_keys
fichier sur le serveur.ssh-add
ajoute des identités à votre agent ssh qui gère la gestion de vos identités localement et "la connexion à l'agent est transmise via des connexions distantes SSH, et l'utilisateur peut ainsi utiliser les privilèges donnés par les identités n'importe où dans le réseau de manière sécurisée". (page de manuel), donc je ne pense pas que ce soit ce que vous voulez dans ce cas. Il n'a aucun moyen d'obtenir votre clé publique sur un serveur sans que vous ayez accès à ce serveur via une connexion ssh pour autant que je sache.la source
J'ai ouvert l'application "Mots de passe et clés" dans mon Unity et supprimé les clés indésirables de Secure Keys -> OpenSSH clés Et elles avaient été automatiquement supprimées de ssh-agent -l aussi.
la source
~/.ssh
Je peux confirmer que ce bogue est toujours présent dans Ubuntu 19.04. La solution de contournement suggérée par @VonC a parfaitement fonctionné, résumant pour ma version:
Ce que j'ai fait ensuite était de réessayer
ssh-add -D
, et après le redémarrage, ilssh-add -l
m'a dit que l'agent n'avait pas d'identité. J'ai confirmé que lessh-agent
démon fonctionnait toujours avecps aux | grep agent
. J'ai donc ajouté la clé que j'utilise le plus fréquemment avec GitHub (ssh-add ~/.ssh/id_ecdsa
) et tout va bien!Maintenant, je peux faire les opérations normales avec mon référentiel le plus fréquemment utilisé, et si j'ai parfois besoin d'accéder à l'autre référentiel qui utilise la clé RSA, je lui dédie juste un terminal avec
export GIT_SSH_COMMAND="ssh -i /home/me/.ssh/id_rsa.pub"
. Résolu! Le mérite revient à @VonC pour avoir signalé le bogue et la solution.la source
Vérifiez la clé .ssh ou pas dans votre système
Sinon que
Passé dans le terminal
Supprimer la clé .ssh existante
Créer un nouveau
Créer une nouvelle clé .ssh -> ssh-keygen -t rsa -b 4096 -C "[email protected]"
La clé publique a été enregistrée dans "/Users/administrator/.ssh/id_ed25519.pub."
la source
La solution pour moi (OpenSuse Leap 42.3, KDE) était de renommer le dossier
~/.gnupg
qui contenait apparemment les clés et les profils mis en cache. Après la déconnexion / connexion de KDE, ssh-add / agent est à nouveau exécuté et le dossier est créé à partir de zéro, mais les anciennes clés ont toutes disparu.Je n'ai pas eu de succès avec les autres approches.
la source