Habilitar el inicio de sesión solo con ssh-key en mi Mac para 1 usuario

20

Tengo un Macbook Air al que me gustaría permitir el acceso remoto de SSH sin una contraseña. He creado un usuario llamado remotepair en el que he iniciado sesión y he verificado que puedo usar la Mac con. También agregué a este usuario a la lista de usuarios permitidos del servicio "Eliminar inicio de sesión" y activé el servicio. Todo esto se hizo en el panel de control "Compartir".

He obtenido la clave pública de otra computadora y la he agregado al archivo /Users/remotepair/.ssh/authorized_keys . Cuando la otra computadora hace ssh [email protected]<my ip> todavía recibo una solicitud de contraseña.

¿Cómo deshabilito esta solicitud de contraseña?

    
pregunta Jason 31.07.2012 - 05:25

4 respuestas

26

Para deshabilitar la autenticación de contraseña, necesita editar /etc/sshd_config . En Terminal :

sudo vim /etc/sshd_config

(o reemplace con su editor favorito)

Busca la línea:

#ChallengeResponseAuthentication yes

Y cámbiala a:

ChallengeResponseAuthentication no

Es decir, elimina el # al principio y cambia de yes a no .

Todos los inicios de sesión ssh subsiguientes REQUERIRÁN a usted para usar una clave ssh y no solicitarán una contraseña. ¡Asegúrese de que su clave ssh funcione antes de hacer esto si no tiene acceso local! No es necesario reiniciar el demonio ssh ni nada porque se inicia a pedido para cada nueva conexión entrante. Tenga en cuenta que también puede ver una línea PasswordAuthentication , pero que por defecto está ya en no .

Si sus teclas ssh no funcionan, entonces ese es un problema aparte, pero esto responde a la pregunta tal como se plantea ahora :)

    
respondido por el Caesium 31.07.2012 - 13:39
2

Para actualizar la respuesta para macOS Sierra (10.12.6 específicamente), parece que el archivo de configuración ahora es /etc/ssh/sshd_config

2 líneas deben estar sin comentarios + modificadas para deshabilitar completamente la autenticación de contraseña: (Estas son las líneas 57 a 62, inclusive, en el archivo sshd_config predeterminado)

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no

# Change to no to disable s/key passwords
ChallengeResponseAuthentication no

Como se mencionó anteriormente, puede habilitar / deshabilitar el acceso ssh desde la GUI de System Preferences.app, y no es necesario reiniciar el daemon entre la edición de la configuración.

    
respondido por el Ivan G. 25.10.2017 - 01:48
1

Debe verificar los permisos de los directorios involucrados: /Users/remotepair/ y /Users/remotepair/.ssh , no deben permitir el acceso de escritura por parte de "otros" usuarios. Mi .ssh tiene derechos de acceso solo para el propietario.

También, en el sistema remoto, haga un ssh -v [email protected] para ver qué métodos de autorización están permitidos e intentados. Busca Authentications that can continue: publickey,password,keyboard-interactive . Quizás debas habilitar RSAAuthentication en tu sistema.

    
respondido por el vilmoskörte 31.07.2012 - 08:25
1

En un sistema de prueba aquí, deshabilitar el indicador de SSH requiere que se agreguen las siguientes dos líneas a /etc/sshd_config :

PasswordAuthentication no
ChallengeResponseAuthentication no

Los comentarios en sshd_config también recomiendan agregar la siguiente línea:

UsePAM no
    
respondido por el lava37 22.01.2017 - 01:12

Lea otras preguntas en las etiquetas