SSH sigue solicitando mi contraseña si uso un archivo de claves distinto al predeterminado

SSH sigue solicitando mi contraseña si uso un archivo de claves distinto al predeterminado

Tengo un archivo de claves llamado KEY, que tiene KEYy KEY.pub. Subo el pub a authorized_keysy agrego el privado con

ssh-add /home/user/.ssh/KEY

Pero cuando intento conectarme , sigue pidiéndome la contraseña.ssh [email protected]

Si genero una clave ssh-keygeny dejo el nombre de clave predeterminado, subo el pub y cargo el privado,no essolicitar una contraseña.

¿Cuál podría ser el problema?

Respuesta1

Puede obtener el resultado de depuración y probablemente le dirá que no puede autenticarse con (el archivo de clave predeterminado de ssh). La respuesta es decirle a ssh qué clave usar:ssh -vvv [email protected]~/.ssh/id_rsa

ssh -i /home/user/.ssh/KEY [email protected]

También puede agregar su archivo de claves por host a su archivo .ssh/config, luego solo tendrá que escribir ssh host.comy el usuario/clave se seleccionará automáticamente.

Entrada de ejemplo para .ssh/config(Para más información, ver man ssh_config):

Host mysshserver ssh.host.com
HostName ssh.host.com
User myusername
IdentityFile ~/.ssh/mykeyfile


Explicación de archivos clave de man ssh:

 -i identity_file
             Selects a file from which the identity (private key) for RSA or
             DSA authentication is read.  The default is ~/.ssh/identity for
             protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro‐
             tocol version 2.  Identity files may also be specified on a per-
             host basis in the configuration file.  It is possible to have
             multiple -i options (and multiple identities specified in config‐
             uration files).

Respuesta2

Para configurar sus archivos clave correctamente (Cómoaquí), tenga en cuenta lo siguiente:

En caso de que su .sshdirectorio de host y sus archivos no tengan los permisos correctos Y/O su directorio de inicio de usuario remoto no tenga los permisos correctos, ssh seguirá solicitando la contraseña aunque encuentre el archivo clave.

Puede ver si su archivo/archivos clave se ofrecen usandossh -vvv user@host

Salida de ejemplo:

debug1: Offering DSA public key: /Users/<user>/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

Verifique tanto el directorio de inicio del usuario remoto como .sshlos permisos del directorio remoto

Por ejemplo, los permisos deberían ser:

$ls -ld .ssh
drwx------ 2 <owner> <group> 4096 2011-12-29 20:39 .ssh

$ls -ld ~/
drwxr-xr-x 28 <owner> <group> 4096 2011-12-29 20:15 /home/<user>/ 

información relacionada