Comment faire pour supprimer une clé ssh?
J'ai actuellement une vieille clé SSH téléchargé sur le serveur. Le problème est que j'ai perdu mon ~/.ssh
répertoire (avec l'original du id_rsa
et id_rsa.pub
fichiers).
Par conséquent, je veux enlever l'ancienne clé SSH directement sur le serveur et télécharger un nouveau.
J'ai essayé la commande suivante sans succès:
$> ssh-add -D
Est-il un moyen de supprimer complètement une clé SSH?
- Qu'est-ce avec
ssh-add -d
? - merde, il est ssh-add-D, en majuscules
- Vérifiez vos prises de courant qui sont utilisés par votre ssh-agent(1).
Vous devez vous connecter pour publier un commentaire.
Remarque qu'il y a au moins deux rapport de bug pour
ssh-add -d/-D
pas retrait clés:ssh-add-D
ne pas retirer la clé SSH degnome-keyring-daemon
de la mémoire"ssh-add-D
la suppression de toutes les identités ne fonctionne pas. Aussi, pourquoi sont-ils tous des identités auto-ajouté?"La cause exacte est:
Plus précisément, sur la question:
Ce bug est encore confirmé dans Ubuntu 14.04.4, aussi récemment qu'il y a deux jours (21 août 2014)
Une solution possible:
Une autre solution de contournement:
Cette commentaires fait suggère:
ssh-agent
etssh-add
la réponse choisie? L'affiche originale a dit qu'il veutremove the old SSH key directly on the server and upload a new one
. Qui sonne comme il veut modifier~/.ssh/authorized_keys
sur l'hôte distant.ssh-add -D
etauthorized_keys
sont deux opérations différentes, éléments, comme illustré dans la askubuntu.com/a/490107/5470. Mais la question était centrée autour de l'incapacité de l'enlever (phrase de passe-protégés) clé à partir de l'agent ssh. Je suppose que leauthorized_keys
partie de mise à jour a été effectuée de manière indépendante.ssh-add -l
et de compter le nombre de touches il y a peut-être par la tuyauterie pourwc
. Puisrm ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
Puis éventuellement le faire:ssh-add -l
et vous verrez qu'il ya un nombre différent. En d'autres termes, la suppression de l'agent est automatique si vous supprimez du système de fichiers.git clone
a l'aide de la première clé de la chaîne au lieu de la version dans le fichier de configuration sur le Ubuntu boîte. La mauvaise clé a été de se faire sucer automatiquement et transmis au système Debian.Si je ne suis malentendu, vous avez perdu votre
.ssh
répertoire contenant votre clé privée sur votre ordinateur local et si vous souhaitez supprimer la clé publique qui a été sur un serveur et qui permet en fonction de clé de connexion. Dans ce cas, il sera stocké dans la.ssh/authorized_keys
fichier dans votre répertoire personnel sur le serveur. Vous pouvez éditer ce fichier avec un éditeur de texte et de supprimer la ligne correspondante si vous pouvez l'identifier (encore plus facile si c'est la seule entrée!). J'espère que la clé n'était pas votre seule méthode d'accès au serveur et que vous avez une autre façon de se connecter et de modifier le fichier. Vous pouvez manuellement ajouter une nouvelle clé publique àauthorised_keys
fichier ou utiliserssh-copy-id
. De toute façon, vous aurez besoin du mot de passe d'authentification mis en place pour votre compte sur le serveur, ou une autre identité ou de la méthode d'accès pour se rendre à l'authorized_keys
fichier sur le serveur.ssh-add
ajoute identités à votre ssh agent qui s'occupe de la gestion de vos identités localement et "la connexion à l'agent est envoyé via SSH connexion à distance, et l'utilisateur peut donc utiliser les privilèges accordés par l'identité de n'importe où dans le réseau de manière sécurisée." (page de man), donc je ne pense pas que c'est ce que vous voulez dans ce cas. Il n'a aucun moyen pour obtenir votre clé publique sur un serveur sans que vous ayez accès à ce serveur via une connexion ssh pour autant que je sais.Si vous essayez d'effectuer une ssh liées à l'opération et obtenir l'erreur suivante:
Vous pouvez supprimer le manque de clés ssh de votre agent ssh avec les éléments suivants:
J'ai ouvert "mots de passe et Clés d'application" dans mon Unité et supprimé les clés non désirées à partir de des Clés Sécurisées -> OpenSSH clés
Et elles sont automatiquement avaient été retirés de ssh-agent -l ainsi.
~/.ssh