Si está utilizando selinux, ¡también puede consultar el contexto del directorio de inicio y los archivos .ssh! Tuve la suerte de poder usar esta solución simple: # restorecon -R -v /home/userpara verificar si este es el problema (aunque el comando anterior no debería causar ningún problema), puede usar $ ls -lZR <home_dir>para examinar el contexto. Si no ve user_home_ten el directorio de inicio y ssh_home_ten el .sshdirectorio y el authorized_keysarchivo, utilice restoreconpara corregirlos.
fbicknel
523
ssh-keygen -y
ssh-keygen -y le pedirá la frase de contraseña (si hay una).
Si ingresa la frase de contraseña correcta , le mostrará la clave pública asociada.
Si ingresa la frase de contraseña incorrecta , se mostrará load failed.
Si la llave tiene ninguna frase de contraseña, lo hará no le pedirá una contraseña y se mostrará inmediatamente la clave pública asociada.
p.ej,
Cree un nuevo par de claves pública / privada, con o sin frase de contraseña:
$ ssh-keygen -f /tmp/my_key
...
Ahora vea si puede acceder al par de claves:
$ ssh-keygen -y -f /tmp/my_key
El siguiente es un ejemplo extendido, que muestra la salida.
Cree un nuevo par de claves pública / privada, con o sin frase de contraseña:
$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .+ |
| . . o |
| = . + |
| = + + |
| o = o S . |
| + = + * |
| = o o . |
| . . |
| E |
+-----------------+
Intente acceder al par de claves ingresando la frase de contraseña correcta. Tenga en cuenta que se mostrará la clave pública y el estado de salida ( $?) será 0para indicar el éxito:
Intente acceder al par de claves ingresando una frase de contraseña incorrecta. Tenga en cuenta que se mostrará el mensaje de error "carga fallida" (el mensaje puede variar según el sistema operativo) y el estado de salida ( $?) será 1para indicar un error:
Intenta acceder a un par de claves que no tiene frase de contraseña. Tenga en cuenta que no hay un mensaje para la frase de contraseña, se mostrará la clave pública y el estado de salida ( $?) será 0para indicar el éxito:
Si no hay contraseña, solo imprimirá la clave pública asociada.
Kyrremann
1
Gracias @Kyrremann! Ahora he actualizado la respuesta para reflejar eso.
Rob Bednark el
ssh-keygen -ysolicita el archivo de clave y ofrece un valor predeterminado cuando se hace clic en regresar como se esperaría.
Timo
Solía ssh-keygen -yverificar la frase de contraseña de mi clave ssh. Funcionó bien, excepto que mi Ubuntu se volvió increíblemente lento. La mayoría de los programas podrían iniciarse en un minuto o más mientras el uso de la CPU era del 100%. Después de reiniciar mi computadora portátil, apenas podía iniciar sesión, ya que me llevó minutos ver mi escritorio. Finalmente encontré este problema en Ask Ubuntu . Tuve que comenzar gnome-keyring-daemonpara resolver el problema.
Adam Fónagy
2
Extendiendo la solución de @ RobBednark a un escenario específico de Windows + PuTTY, puede hacerlo:
Le pedirá la contraseña anterior. Si la contraseña es correcta, se le pedirá que ingrese una nueva contraseña. Si la contraseña anterior es incorrecta, aparecerá "No se pudo cargar la clave <...>".
Si su frase de contraseña es desbloquear su clave SSH y no tiene ssh-agent, pero tiene sshd (el demonio SSH) instalado en su máquina, haga lo siguiente:
passphrase
contraseña sin contraseña;)Respuestas:
Puede verificar su frase de contraseña de clave SSH intentando cargarla en su agente SSH. Con OpenSSH esto se hace a través de
ssh-add
.Una vez que haya terminado, recuerde descargar su frase de contraseña SSH del terminal ejecutando
ssh-add -d
.fuente
ssh-add -d
# restorecon -R -v /home/user
para verificar si este es el problema (aunque el comando anterior no debería causar ningún problema), puede usar$ ls -lZR <home_dir>
para examinar el contexto. Si no veuser_home_t
en el directorio de inicio yssh_home_t
en el.ssh
directorio y elauthorized_keys
archivo, utilicerestorecon
para corregirlos.ssh-keygen -y
le pedirá la frase de contraseña (si hay una).Si ingresa la frase de contraseña correcta , le mostrará la clave pública asociada.
Si ingresa la frase de contraseña incorrecta , se mostrará
load failed
.Si la llave tiene ninguna frase de contraseña, lo hará no le pedirá una contraseña y se mostrará inmediatamente la clave pública asociada.
p.ej,
Cree un nuevo par de claves pública / privada, con o sin frase de contraseña:
Ahora vea si puede acceder al par de claves:
El siguiente es un ejemplo extendido, que muestra la salida.
Cree un nuevo par de claves pública / privada, con o sin frase de contraseña:
Intente acceder al par de claves ingresando la frase de contraseña correcta. Tenga en cuenta que se mostrará la clave pública y el estado de salida (
$?
) será0
para indicar el éxito:Intente acceder al par de claves ingresando una frase de contraseña incorrecta. Tenga en cuenta que se mostrará el mensaje de error "carga fallida" (el mensaje puede variar según el sistema operativo) y el estado de salida (
$?
) será1
para indicar un error:Intenta acceder a un par de claves que no tiene frase de contraseña. Tenga en cuenta que no hay un mensaje para la frase de contraseña, se mostrará la clave pública y el estado de salida (
$?
) será0
para indicar el éxito:fuente
ssh-keygen -y
solicita el archivo de clave y ofrece un valor predeterminado cuando se hace clic en regresar como se esperaría.ssh-keygen -y
verificar la frase de contraseña de mi clave ssh. Funcionó bien, excepto que mi Ubuntu se volvió increíblemente lento. La mayoría de los programas podrían iniciarse en un minuto o más mientras el uso de la CPU era del 100%. Después de reiniciar mi computadora portátil, apenas podía iniciar sesión, ya que me llevó minutos ver mi escritorio. Finalmente encontré este problema en Ask Ubuntu . Tuve que comenzargnome-keyring-daemon
para resolver el problema.Extendiendo la solución de @ RobBednark a un escenario específico de Windows + PuTTY, puede hacerlo:
Genere un par de claves SSH con PuTTYgen (luego de generar manualmente su clave SSH en Windows ), guardándola en un archivo PPK;
Con el menú contextual en el Explorador de Windows, elija Editar con PuTTYgen. Solicitará una contraseña.
Si escribe la contraseña incorrecta, simplemente se le solicitará nuevamente.
Tenga en cuenta, si te gusta escribir, utilice el siguiente comando en una carpeta que contiene el archivo PPK:
puttygen private-key.ppk -y
.fuente
Use "ssh-keygen -p". Puedes agregar "-f"
Le pedirá la contraseña anterior. Si la contraseña es correcta, se le pedirá que ingrese una nueva contraseña. Si la contraseña anterior es incorrecta, aparecerá "No se pudo cargar la clave <...>".
fuente
Si su frase de contraseña es desbloquear su clave SSH y no tiene
ssh-agent
, pero tiene sshd (el demonio SSH) instalado en su máquina, haga lo siguiente:¿Dónde
~/.ssh/id_rsa.pub
está la clave pública y~/.ssh/id_rsa
es la clave privada?fuente