Actualmente tengo una vieja clave SSH cargada en un servidor. El problema es que perdí mi ~/.ssh
directorio (con el original id_rsa
y los id_rsa.pub
archivos).
En consecuencia, quiero eliminar la antigua clave SSH directamente en el servidor y cargar una nueva.
Intenté el siguiente comando sin éxito:
$> ssh-add -D
¿Hay alguna manera de eliminar por completo una clave SSH?
ssh-add -d
?Respuestas:
Tenga en cuenta que hay al menos dos informes de errores para
ssh-add -d/-D
no eliminar claves:ssh-add -D
no elimina la clave SSH de lagnome-keyring-daemon
memoria "ssh-add -D
eliminar todas las identidades no funciona. Además, ¿por qué todas las identidades se agregan automáticamente? "El problema exacto es:
Más precisamente, sobre el tema:
Este error aún se confirma en Ubuntu 14.04.4, hace tan solo dos días (21 de agosto de 2014)
Una posible solución alternativa:
Otra solución alternativa:
Este comentario realmente sugiere:
Ryan Lue agrega otro caso interesante en los comentarios :
Ese es el caso cuando el
keygrip
se ha añadido como aquí .fuente
ssh-agent
yssh-add
la respuesta seleccionada? El cartel original decía que él quiereremove the old SSH key directly on the server and upload a new one
. Parece que quiere editar~/.ssh/authorized_keys
en el host remoto.git clone
utilizando una primera clave en la cadena en lugar de la versión en el archivo de configuración en el cuadro de Ubuntu. La clave incorrecta fue absorbida automáticamente y enviada a la caja de Debian.id_rsa
y porid_rsa.pub
completo, y la clave seguía apareciendo. Resulta que gpg-agent los estaba almacenando en caché en un~/.gnupg/sshcontrol
archivo; Tuve que eliminarlos manualmente desde allí.Si está intentando realizar una operación relacionada con ssh y obtiene el siguiente error:
Puede eliminar la clave ssh que falta de su agente ssh con lo siguiente:
fuente
A menos que esté malentendido, perdió su
.ssh
directorio que contiene su clave privada en su máquina local y, por lo tanto, desea eliminar la clave pública que estaba en un servidor y que permitía el inicio de sesión basado en claves. En ese caso, se almacenará en el.ssh/authorized_keys
archivo en su directorio de inicio en el servidor. Puede editar este archivo con un editor de texto y eliminar la línea relevante si puede identificarlo (¡incluso más fácil si es la única entrada!). Espero que esa clave no haya sido su único método de acceso al servidor y que tenga otra forma de iniciar sesión y editar el archivo. Puede agregar manualmente una nueva clave pública alauthorised_keys
archivo o usarssh-copy-id
. De cualquier manera, necesitará configurar la autenticación de contraseña para su cuenta en el servidor, o algún otro método de identidad o acceso para acceder alauthorized_keys
archivo en el servidor.ssh-add
agrega identidades a su agente ssh que maneja la administración de sus identidades localmente y "la conexión al agente se reenvía a través de inicios de sesión remotos SSH, y el usuario puede usar los privilegios otorgados por las identidades en cualquier lugar de la red de manera segura". (página de manual), así que no creo que sea lo que quieres en este caso. Hasta donde yo sé, no tiene forma de obtener su clave pública en un servidor sin que usted tenga acceso a dicho servidor a través de un inicio de sesión ssh.fuente
Abrí la aplicación "Contraseñas y claves" en mi Unity y eliminé claves no deseadas de Claves seguras -> Claves OpenSSH. Y también se eliminaron automáticamente de ssh-agent -l .
fuente
~/.ssh
Puedo confirmar que este error todavía está presente en Ubuntu 19.04. La solución sugerida por @VonC funcionó perfectamente, resumiendo para mi versión:
Lo que hice a continuación fue volver a intentarlo
ssh-add -D
, y después de reiniciarssh-add -l
me dijo que el agente no tiene identidades. Confirmé que todavía tenía alssh-agent
demonio corriendops aux | grep agent
. Así que agregué la clave que uso con más frecuencia con GitHub (ssh-add ~/.ssh/id_ecdsa
) y todo está bien.Ahora puedo hacer las operaciones normales con mi repositorio utilizado con más frecuencia, y si ocasionalmente necesito acceso al otro repositorio que usa la clave RSA, solo le dedico un terminal
export GIT_SSH_COMMAND="ssh -i /home/me/.ssh/id_rsa.pub"
. Resuelto! El crédito va a @VonC por señalar el error y la solución.fuente
Verifique la clave .ssh o no en su sistema
Si no que
Pasado en la terminal
Eliminar la clave .ssh existente
Crear nuevo
Crear nueva clave .ssh -> ssh-keygen -t rsa -b 4096 -C "[email protected]"
La clave pública se ha guardado en "/Users/administrator/.ssh/id_ed25519.pub".
fuente
La solución para mí (OpenSuse Leap 42.3, KDE) fue cambiar el nombre de la carpeta
~/.gnupg
que aparentemente contenía las claves y los perfiles en caché. Después de cerrar sesión / iniciar sesión en KDE, ssh-add / agent se está ejecutando nuevamente y la carpeta se crea desde cero, pero las claves antiguas se han ido.No tuve éxito con los otros enfoques.
fuente