Cómo hacer que el inicio de sesión sin contraseña funcione

12

Generé una clave y la copié a mi objetivo:

ssh-keygen
ssh-copy-id username@hostname

Dejé la ubicación de la clave como predeterminada y no configuré ninguna frase de contraseña.

Por un breve tiempo después de eso, pude hacerlo ssh username@hostnamesin que me pidieran una contraseña, y luego dejó de funcionar por alguna razón.

tshepang
fuente
2
Consulte unix.stackexchange.com/tags/ssh/info ... Hagamos de esta una pregunta de referencia que podamos cerrar a otros como un duplicado.
Gilles 'SO- deja de ser malvado'

Respuestas:

8

Si la autenticación de clave pública no funciona: asegúrese de que en el lado del servidor, su directorio de inicio ( ~), el ~/.sshdirectorio y el ~/.ssh/authorized_keysarchivo, 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 755o chmod 700está bien, chmod 770no lo está.

Qué verificar cuando algo está mal:

  • Ejecute ssh -vvvpara 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).
  • Si es posible, comprobar los registros del servidor, por lo general en /var/log/daemon.logo /var/log/auth.logo similar.
  • Si la autenticación de clave pública no funciona, verifique los permisos nuevamente, especialmente el bit de grupo (ver arriba).
Gilles 'SO- deja de ser malvado'
fuente
Hola, ¿por qué authorized_keysno debería poder ser escrito por el grupo? ¿SSH rechaza esto debido a problemas de seguridad?
Hola,
1
@YdobEmos Cualquiera que pueda escribir authorized_keyspuede agregar su propia clave allí y así iniciar sesión en la cuenta. Entonces solo el usuario debe ser permitido. (Tener el archivo de grupo con permisos de escritura es realmente seguro si ningún otro usuario está en ese grupo, pero eso es difícil de detectar de forma fiable cuando los miembros del grupo pueden provenir de las bases de datos de la red.)
Gilles 'SO siendo parada del mal'
1

El directorio de inicio del objetivo era 755 drwxr-xr-x. Cambiarlo para que se pueda escribir en grupo 775 drwxrwxr-xrompió la configuración sin contraseña.

tshepang
fuente
El mismo problema aún no lo resolvió.
¿Quiere decir que no puede obtener un trabajo de inicio de sesión sin contraseña, incluso después de que el directorio se pueda escribir en grupo?
tshepang
SÍ: consulte unix.stackexchange.com/q/208152/11085 , CentOS 7 de 64 bits, donde intento iniciar sesión con mis claves id_rsa pero siempre falla.
0

Asumiendo RHEL / CentOS, y asumiendo que tiene acceso de administrador al servidor remoto donde el usuario newuserdesea ssh.

Obtener newuser'sexistente id_rsa.puby tener listo.

Sigue los pasos:

useradd newuser
mkdir /home/newuser/.ssh
vi /home/newuser/.ssh/authorized_keys
# copy newuser's id_rsa.pub into authorized_keys and save
chmod 640 /home/newuser/.ssh/authorized_keys
chmod 700 /home/newuser/.ssh/
chmod 700 /home/newuser/
chown newuser:newuser -R /home/newuser/

Intenta newuseriniciar sesión.

un codificador
fuente