Tengo una configuración de servidor 12.10 en una máquina virtual con su red configurada en puente (esencialmente se verá como una computadora conectada a mi conmutador).
Instalé opensshd vía apt-get
y pude conectarme al servidor usando masilla con mi nombre de usuario y contraseña.
Luego me puse a tratar de hacer que use la autenticación de clave pública / privada. Hice lo siguiente:
- Genera las claves usando PuttyGen.
- Moví la clave pública a
/etc/ssh/myusername/authorized_keys
(estoy usando directorios de inicio cifrados). Configurar
sshd_config
así:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
Cuando me conecto usando masilla o WinSCP, recibo un error que dice No hay métodos de autenticación compatibles disponibles (clave pública enviada por el servidor).
Si ejecuto sshd
en modo de depuración, veo:
PAM: initializing for "username"
PAM: setting PAM_RHOST to "192.168.1.7"
PAM: setting PAM_TTY to "ssh"
userauth-request for user username service ssh-connection method publickey [preauth]
attempt 1 failures 0 [preauth]
test whether pkalg/pkblob are acceptable [preauth[
Checking blacklist file /usr/share/ssh/blacklist.RSA-1023
Checking blacklist file /etc/ssh/blacklist.RSA-1023
temporarily_use_uid: 1000/1000 (e=0/0)
trying public key file /etc/ssh/username/authorized_keys
fd4 clearing O_NONBLOCK
restore_uid: 0/0
Failed publickey for username from 192.168.1.7 port 14343 ssh2
Received disconnect from 192.168.1.7: 14: No supported authentication methods available [preauth]
do_cleanup [preauth]
monitor_read_log: child log fd closed
do_cleanup
PAM: cleanup
¿Por qué sucede esto y cómo puedo solucionarlo?
Respuestas:
Problema resuelto:
Parece que hubo un problema con mi archivo de clave pública. PuttyGen creará un archivo de clave pública que se verá así:
Sin embargo, esto no funcionará, así que lo que debe hacer es abrir la clave en PuttyGen y luego copiarla desde allí (esto hace que la clave esté en el formato correcto y en 1 línea):
Pegue esto en,
authorized_keys
entonces debería funcionar.fuente
authorized_keys
en vi y eliminé todos los saltos de línea y funcionó./etc/ssh/sshd_config
archivo.PasswordAuthentication
yChallengeResponseAuthentication
parayes
.3a. Reiniciar ssh
/etc/init.d/ssh restart
.O
3b. mejor usas
service sshd restart
fuente
PasswordAuthentication
ano
.ChallengeResponseAuthentication
resolverme el problema en Debian 10.0Solo un consejo que espero pueda ayudar a alguien más con los dolores de cabeza que tuve. F21 tiene razón en que necesita copiar la clave de la ventana PuTTYGen en lugar de guardar el archivo, pero después de copiar, la forma en que pega puede tener un impacto significativo en si su clave funcionará o no. Algunos editores alterarán el texto a medida que lo pegue, o harán algo con líneas nuevas o algo que invalide el archivo autorizado_claves.
Lo que he encontrado que es menos probable que se rompa es hacer eco de la cadena completa y redirigir la salida al archivo. Al hacer clic derecho en PuTTY para pegar la cadena de clave en la línea de comando, funciona de la siguiente manera (con el ejemplo anterior):
Terminarás con esto:
Otra ventaja de este método es que puede agregar varias claves de esta manera usando >> para agregar en lugar de> para sobrescribir, por ejemplo:
Espero que ayude a alguien.
fuente
Ya estábamos usando el tipo correcto de clave (ppk en lugar de pem).
En nuestro caso, se trató de un problema con los permisos de archivos para claves_autorizadas en la carpeta de usuario del servidor. Tiene que ser -rw-r - r-- ... Era -rw-rw-r--
ssh es muy quisquilloso con los permisos de archivos.
fuente
RESUELTO
fuente
En mi caso, la razón fue que el archivo de clave privada (.ppk) se había eliminado en el agente de autenticación Putty, es decir, el concurso. Acabo de actualizarlo nuevamente a Pageant y la conexión funcionó perfectamente después de eso.
fuente