Mi máquina recientemente dejó de aceptar la autenticación de clave pública entrante. Tengo un escritorio ubuntu 11.04 en el que ingreso desde una máquina Windows. Yo uso masilla con concurso. Puedo conectarme pero solo con autenticación de contraseña interactiva, no con mi clave rsa que he configurado.
Ya he verificado que la clave aparece en ~ / .ssh / Authorizedkeys. ¿Cómo soluciono esto y qué verifico?
ssh
authentication
Andrew Redd
fuente
fuente
~
,~/.ssh
y~/.ssh/authorized_keys
sólo pueden ser escritos por usted (en particular, el permiso de escritura grupo no). Busque/var/log/auth.log
entradas de registro creadas en el momento de sus intentos de inicio de sesión. Copie y pegue en su pregunta (edite los nombres para mayor privacidad si lo desea). También verifique si el problema es puramente del lado del servidor o no: copie la clave privada en la máquina Linux (necesitará convertir el archivo de clave privada de PuTTY al formato OpenSSH) y ver sissh localhost
funciona.Respuestas:
Si la autenticación de clave pública no funciona: asegúrese de que en el lado del servidor, su directorio de inicio (
~
), el~/.ssh
directorio y el~/.ssh/authorized_keys
archivo, solo puedan ser escritos por su propietario . En particular, ninguno de ellos debe ser editable por el grupo (incluso si el usuario está solo en el grupo).chmod 755
ochmod 700
está bien,chmod 770
no lo está.Qué verificar cuando algo está mal:
ssh -vvv
para ver una gran cantidad de resultados de depuración. Si publica una pregunta preguntando por qué no puede conectarse con ssh, incluya esta salida (es posible que desee anonimizar los nombres de host y de usuario)./var/log/auth.log
.fuente
Me encontré con lo mismo y finalmente descubrí que era porque cifraba mi directorio de inicio. SSH no puede leer el archivo authorised_keys hasta que inicie sesión, por lo que básicamente lo obliga a autenticarse con contraseña primero. Consulte la sección sobre el directorio de inicio cifrado en el siguiente enlace:
https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Encrypted_Home_Directory
fuente
Si verifica los permisos en los directorios, y hay un "." justo después de ellos, es posible que tenga habilitado selinux, que se enredará con el intercambio de claves y, por defecto, la identificación de contraseña manual.
Puede deshabilitar SELinux para solucionar problemas siguiendo las instrucciones aquí: http://www.centos.org/docs/5/html/5.1/Deployment_Guide/sec-sel-enable-disable-enforcement.html , o simplemente edite el / etc / selinux / config y cámbielo de "imposición" a "deshabilitado".
Espero que esto ayude.
fuente
chmod 600 ~/.ssh/authorized_keys
el archivo se podía escribir en grupo. (a través de pyrosoft.co.uk/blog/2013/01/12/… )restorecon ~ -R
) es un buen punto de partida.Me aseguraría de que su configuración en / etc / ssh / sshd_config sea correcta.
Para forzar el uso de PKI solamente y no permitir contraseñas, encuentre la línea
en su archivo, descomente y configúrelo en
También leería el balance de las configuraciones para asegurarme de que tengan sentido. En particular, intente asegurarse de utilizar claves RSA, ya que se sabe que DSA está comprometido.
fuente
Una posible causa del problema es que tiene claves DSA pero ahora SSH (aparentemente) por defecto requiere claves RSA. Tengo el problema al actualizar a 16.04. Puede ver más aquí, pero la respuesta corta es agregar lo siguiente a
~/.ssh/config
:fuente
Solucioné este problema descomentando "PasswordAuthentication yes" en / etc / ssh / sshd_config.
fuente
Debido a la necesidad de solucionar problemas de comunicación entre dos máquinas diferentes, tenía dos claves privadas en
~/.ssh
el lado del cliente.En lugar de configurar cada host del servidor con la clave privada respectiva
~/.ssh/identity
como debería haber hecho, tuve la clave secundaria (y en este caso incorrecta) configurada para todos los hosts:La corrección
~/.ssh/identity
resolvió el problema:fuente
Simplemente tuve el mismo problema, pero cambiar los permisos
chmod
no me ayudó, ya que resultó que no tenía la propiedad del~/.ssh/authorized_keys
archivo. Puede cambiar la propiedad del.ssh
directorio con:fuente
De alguna manera esto funcionó para mí:
root @ kaiser: ~ # vim / etc / ssh / sshd_config
Cambie esta línea de sí a no 28 StrictModes no
Inténtalo de nuevo
sysadmin @ suselinux1: ~> con sysadmin kaiser Bienvenido a Ubuntu 12.04.1 LTS (GNU / Linux 3.2.0-25-generic i686)
Último inicio de sesión: vie 9 de noviembre 15:40:11 2012 de 10.1.3.25 sysadmin @ kaiser: ~ $ date vie nov 9 17:53:11 CST 2012 sysadmin @ kaiser: ~ $
fuente
sshd
documentos, que no caen exactamente en la categoría de "buena lectura del sábado"