¿Cómo configuro las teclas ssh para iniciar sesión en mi RPi?

15

Usar las teclas ssh para iniciar sesión en su RPi es mucho más conveniente que escribir la contraseña cada vez.

Es especialmente útil si desea iniciar sesión desde scripts automáticos o utilizar programas como scp o rsync

Entonces, ¿cómo configuro las teclas ssh para iniciar sesión en mi RPi?

John La Rooy
fuente
Pregunta / respuesta muy similar aquí .
Jivings

Respuestas:

16

Linux

Si nunca has oído hablar de ssh-keys antes, deberás generar uno como este

$ ssh-keygen -t dsa

Esto crea un directorio ~/.ssh/y almacena los archivos clave

$ ls -l .ssh/
-rw------- 1 gnibbler gnibbler 668 Aug 22  2004 .ssh/id_dsa
-rw------- 1 gnibbler gnibbler 603 Aug 22  2004 .ssh/id_dsa.pub

Necesitas copiar id_dsa.pubal RPi. Hay una manera muy fácil de hacer esto usando un script de ayuda.

$ ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]

Tendrá que escribir la picontraseña de usuario por última vez

La próxima vez que inicie sesión, no se le pedirá una contraseña

$ ssh [email protected]
Linux raspberrypi 3.1.9+ #174 PREEMPT Sun Jul 22 19:04:28 BST 2012 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Type 'startx' to launch a graphical session

¿Cómo deshabilito los inicios de sesión de contraseña?

Una vez que haya configurado los inicios de sesión basados ​​en claves, ya no necesita iniciar sesión con una contraseña; puedes desactivarlo, lo cual es mucho más seguro.

  1. Primero, inicie sesión en su Raspberry Pi y ábralo /etc/ssh/sshd_configcomo root; por ejemplo, correr sudo vim /etc/ssh/sshd_config.

  2. Encuentra la línea que contiene PasswordAuthentication; Probablemente se lee #PasswordAuthentication yes.

  3. Cambia esta línea para que se lea

    Contraseña Autenticación no

  4. Reinicie su Raspberry Pi, o simplemente sshd.

Arch Linux

Para reiniciar sshden Arch, ejecute sudo rc.d restart sshd.

Debian / Raspbian

Para reiniciar sshden distribuciones basadas en Debian, ejecute sudo /etc/init.d/sshd restart.

John La Rooy
fuente
Tenga en cuenta que ssh sin contraseña solo debe usarse donde sabe que la conexión ya es segura . De lo contrario, corre el riesgo de ahorrar 10 segundos.
Jivings
@Jivings ¿Explicar? Las claves siempre son más seguras que las contraseñas.
Alex Chamberlain el
@gnibbler ¿Aceptaría una edición sobre cómo deshabilitar los inicios de sesión de contraseña?
Alex Chamberlain el
@AlexChamberlain, por supuesto
John La Rooy
@AlexChamberlain Esta respuesta dice cómo configurar claves sin contraseña. Eso es a lo que me refería
Jivings