Error de SSH de PuTTy a Debian "Authorizedkeys no es un archivo normal"

9

No puedo conectarme desde mi computadora con Windows 7 usando PuTTy a un servidor Debian Squeeze recién configurado usando la autenticación de clave SSH RSA.

Recibo este error cuando ejecuto SSH en modo de depuración: User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file


Lo que he hecho hasta ahora:

  1. ssh-keygen -t rsa
  2. Establecer frase de contraseña.
  3. Copié el archivo id_rsa.pub en ~/.ssh/authorized_keys
  4. Copié id_rsa a un archivo de texto en mi máquina con Windows 7
  5. Importó la clave puttygen.exey la convirtió en un .ppkarchivo de clave privada.
  6. pageant.exeCargué el archivo de clave privada y me aseguré de que Conexión-> SSH-> Auth. Los métodos de autenticación tuvieran marcada "Intento de autenticación mediante concurso".
  7. Cargó el perfil.

Basado en las preguntas frecuentes de OpenSSH.org , cambié los permisos a los siguientes:

drwxr-xr-x 3 root   root   4096 Aug 13 14:16 /home
drwxr-xr-x 7 myuser myuser 4096 Aug 17 12:55 /home/myuser
drwx------ 3 myuser myuser 4096 Aug 17 13:24 /home/myuser/.ssh
drw------- 2 myuser myuser 4.0K Aug 17 13:23 /home/myuser/.ssh/authorized_keys
-rw------- 1 myuser myuser  396 Aug 17 13:17 /home/myuser/.ssh/authorized_keys/id_rsa.pub

Comencé el modo de depuración en ssh, y obtuve lo siguiente:

debug1: userauth-request for user myuser service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: test whether pkalg/pkblob are acceptable
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/myuser/.ssh/authorized_keys
User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file
debug1: restore_uid: 0/0
Failed publickey for myuser from 10.1.1.1 port 50710 ssh2

No sé qué más comprobar. No he configurado SELinux ni nada. Cualquier idea será altamente apreciada.

tacotuesday
fuente

Respuestas:

15

El problema es:

User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file

Parece que creó un directorio con nombre authorized_keysy puso todos sus archivos clave en él. Por eso no está funcionando. authorized_keysestá destinado a ser un archivo normal y puede ingresar todas sus claves ~/.ssh.

Michael Hampton
fuente
7

El principal problema es que ~/.ssh/authorized_keysno debería ser un directorio. Es un archivo de texto que contiene las claves públicas agregadas una línea después de la otra.

Como solo tiene una clave, simplemente mueva el ~/.ssh/authorized_keys/id_rsa.pubarchivo a una ubicación temporal, elimine el ~/.ssh/authorized_keysdirectorio, luego mueva el archivo de clave pública volviéndolo a ~/.ssh/authorized_keys. Ahora debería poder conectarse sin usar una contraseña de inicio de sesión.

Philippe Gauthier
fuente