Estoy tratando de configurar la autenticación ssh con archivos clave en lugar de nombre de usuario / contraseña. El cliente es una caja de Windows que ejecuta PuTTY y el servidor es un servidor Ubuntu 12.04 LTS.
Descargué puttygen.exe y tuve que generar un par de claves. En /etc/ssh/sshd_config
tengo esta línea:
AuthorizedKeysFile %h/.ssh/authorized_keys
y en el archivo de clave pública de mi cliente dice esto:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my@email.address.com"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=my@email.address.com
---- END SSH2 PUBLIC KEY ----
Copié la parte de "ssh-rsa AAA" a "my@email.address.com" y la puse en el archivo ~/.ssh/authorized_keys
de mi servidor (en mi propia carpeta personal). En PuTTY en Conexión> SSH> Auth, ingresé la ruta a la clave privada que generó en mi cliente y guardé la configuración de la sesión.
Reinicié el servidor ssh con
sudo service ssh restart
Ahora, si cargo el perfil en PuTTY (verifiqué que la clave privada todavía está en Conexión> SSH> Auth y que la ruta es correcta) y ejecuto el perfil, dice
Server refused our key
Traté de poner la clave pública en un archivo debajo del directorio, ./ssh/authorized_keys/
pero eso no ayudó, así que lo usé ./ssh/authorized_keys
como un archivo , pegando la clave en él. También intenté generar un par de claves privada / pública en el servidor, poner la clave pública ./ssh/authorized_files
y cargar la privada en PuTTY en mi cliente. Reiniciar el servidor tampoco ayudó.
Descubrí que el error puede resolverse colocando la clave en un lugar fuera de la carpeta de inicio del usuario, pero eso solo es útil si la carpeta de inicio está encriptada, lo cual no es así.
También intenté generar una clave de 4096 bits, pensando que quizás 1024 era demasiado corto.
¿Cómo puedo hacer que esto funcione? ¡Gracias!
EDITAR:
Ok, /var/log/auth.log
dijo:
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
Google me dice que ~/.ssh/
debería ser 700 y ~/.ssh/authorized_keys
debería ser 600, así que lo hice. Ahora /var/log/auth.log
dice:
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]
sshd: error: key_read: uudecode AAAAB3N
errorauth.log
?