7 votos

Ingreso de SSH utilizando la clave pública de error

En localhost ejecutando el servicio sshd. Creó dos pares de claves rsa para root y user1 usando ssh-keygen. Copiado de la root/.ssh/id_rsa.pub a user1/.ssh/id_rsa.pub. Cambiado los permisos a 600. Intentó ssh -l user1 localhost y ssh -l root localhost pero no con Permiso denegado (clavepublica,teclado interactivo).. ¿Tengo que copiar la clave pública de a ~/.ssh carpeta para los usuarios? Lo que está mal con la configuración? Por qué no puedo conectar a localhost?

Archivo /etc/ssh/sshd_config:

RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication yes
UsePAM no
AllowUsers user1 root
PermitRootLogin yes

En el archivo /etc/ssh/ssh_config es sin comentar las líneas:

   RSAAuthentication yes
   PasswordAuthentication no
   ForwardX11 no
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no
   PubkeyAuthentication yes

EDICIÓN 1

Estoy tratando de conectar a localhost. Tengo que ser capaz de ingresar a user1 utilizando sólo la clave pública mientras que el posible inicio de sesión como root con la clave pública y/o contraseña.


EDIT 2

He copiado cp ~/.ssh/id_rsa.pub /home/user1/.ssh/authorized_keys. Permisos cambiados chmod -R 700 ~/.ssh y chmod -R 700 /home/user1/.ssh. Reinicia sshd 'service ssh restart'. Pero parece que no funciona.


EDICIÓN 4

root@ubuntu:~# ssh-copy-id user1@localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is 34:29:b6:1b:fe:84:eb:82:85:77:87:f6:25:39:61:5a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Permission denied (publickey,keyboard-interactive).

root@ubuntu:~# ssh-copy-id root@localhost
Permission denied (publickey,keyboard-interactive).

Registro:

# tail /var/log/auth.log

... ubuntu sshd[8476]: User root not allowed because account is locked

Una buena SSH soluciona artículo: Problemas y Soluciones

7voto

Harm de Wit Puntos 151

Me encontré con este problema cuando intentaba ingresar a una cuenta que no tiene la contraseña, aunque yo uso SSH par de claves de autenticación y tener la contraseña de inicio de sesión de apagado. La solución fue establecer una contraseña usando mi cuenta de root:

passwd user1
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

4voto

micmcg Puntos 1449
  1. Cada vez que se produzca un problema de ssh ing a un servidor, siempre es mejor añadir el -v flag, por ejemplo,

    $ ssh -v host -l user
    
  2. En ambos casos, la clave pública (id_rsa.pub) debe ser añadido a la "del usuario remoto .ssh/authorized_keys" archivo. En el caso anterior, tanto la root y el usuario1. Esto se puede hacer fácilmente a través de la ssh-copy-id comando.

  3. /var/log/secure contendrá las claves de por qué el inicio de sesión no fue exitoso.

  4. Los permisos del directorio debe ser de 700 [rwx] (no 600) [rw]

2voto

Tim Brigham Puntos 8727

Me encontré con un problema similar hace un tiempo trate de hacer un

chmod -R 600 ~/.ssh 

Al parecer, si los permisos de archivo de la razón, pero los permisos de directorio no son el mismo tipo de error de permisos puede recortar.

También creo que hay que renombrar el archivo id_rsa.pub authorized_keys.

1voto

Peter Puntos 415

Algunas notas: Desde que específicamente han deshabilitado la autenticación de contraseña, puede iniciar sesión con la contraseña. Creo que tienes que configurar los usuarios autorizados con algunos otros (Partido de Usuario es posiblemente la mejor manera de avanzar). También, usted necesita para permitir específicamente usuario root (PermitRootLogin establecer para sí).

1voto

0xC0000022L Puntos 831

Tendría sentido para darnos un poco más de información acerca de la configuración en /etc/ssh/sshd_config, en particular, StrictModes (grep StrictModes /etc/ssh/sshd_config). StrictModes es el valor que rige la forma sensible sshd reacciona a los permisos de archivos y carpetas de cada usuario respectivas ~/.ssh y ~/.ssh/authorized_keys. Usted también no nos dan el valor de AuthorizedKeysFile en su sshd_config. Muy relevante, si su servidor SSH está buscando el archivo en algún otro lugar que se coloque.

Pero aparte de las respuestas hasta el momento, no puede ser una multitud de razones para esto. El problema es que a pesar de que intentó, no hay suficiente información para hacer un seguro de adivinar lo que está mal.

Una cosa puede ser PAM restricciones (UsePAM en sshd_config). Ubuntu utiliza para tener de que en algún punto. Si la cuenta de usuario no tiene una contraseña (clave pública sólo autenticación) no se permitirá en.

Pero te voy a dar un método genérico para depurar dichas cuestiones.

Genérico de solución de problemas de sshd

Lo que me parece en general muy útil en cualquiera de tales casos es empezar a sshd sin dejar que se daemonize ("ir a fondo y se desprenden de la terminal"). A menudo, los registros no será demasiado útil, en particular cuando tiene un error de configuración (que no es el caso evidente de por lo menos).

Inicia desde la terminal como que:

# $(which sshd) -Ddp 10222

Esto le dará un montón de salida de depuración que de lo contrario no aparecen (sin el -d) o terminan en los registros, si tienes suerte.

NB: la $(which sshd) es el mejor método para satisfacer sshd requisito de una ruta de acceso absoluta. De lo contrario, obtendrá el siguiente error: sshd re-exec requires execution with an absolute path. El -p 10222 hace sshd escuchar en ese puerto alternativo, reemplazando el archivo de configuración - esto es para que no choque con los cuales puede ejecutar sshd de los casos. Asegúrese de elegir un puerto libre aquí.

Este método me ha ayudado muchas veces en la búsqueda de problemas, problemas de autenticación, problemas de rendimiento o de otros tipos de problemas. Para conseguir realmente el resultado detallado en stdout, uso $(which sshd) -Ddddp 10222 (nota: el agregado dd para aumentar el nivel de detalle). Para obtener más depuración de la bondad de verificación man sshd.

En el lado del cliente ssh puede tomar -v (hasta -vvv) a ser muy detallado acerca de lo que está haciendo.


De la línea de registro

... ubuntu sshd[8476]: User root not allowed because account is locked

alude a que siendo el problema, por lo que ejecutar:

sudo passwd -u root

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: