SSH conexión transparente

2017-07-04

Normalmente cada vez que queremos administrar nuestra rpi, solemos abrir una terminal, conectarnos vía SSH e introducimos las contraseña correspondiente para acceder al sistema.

Aunque no es una cosa que hagamos con mucha frecuencia, sobre todo despuós de tener la rpi ya configurada, es verdad que las primeras veces, o tras una nueva instalación del sistema, necesitamos conectarnos frecuentemente para ir instalando los servicios y programas que vamos a necesitar.

Existe una forma muy sencilla para conectarnos a un servidor SSH sin que nos pida la contraseña de usuario, para ello utilizaremos las claves públicas y privadas que generemos para SSH. evitando que nuestra contraseña pueda ser robada, tambión puede resultar útil para automatizar copias de seguridad.

Generar las claves

En el ordenador que hace de cliente ejecutaremos el comando sssh-keygen -b 4096 -t rsa , nos preguntará por el nombre y ubicación de las claves a generar, y una contraseña para cifrar las claves, si no se pusiera una clave, la contraseña se guardaría sin cifrar, con los consiguientes riesgos que ello supone.

ssh-keygen -b 4096 -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/carlos/.ssh/id_rsa): /home/carlos/.ssh/prueba_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/carlos/.ssh/prueba_rsa.
Your public key has been saved in /home/carlos/.ssh/prueba_rsa.pub.
The key fingerprint is:
SHA256:spDiJiqLPM2Xvs9KKtJj8Vk7LI1JjKtYf7+6DJfixWA [email protected]
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|                 |
|                 |
|     .           |
|  .oE . S        |
| .ooo+.+         |
|..*=oOB.         |
|B*==OOB          |
|O=oo=*BBo.       |
+----[SHA256]-----+

Podemos ver las claves generadas:

ls -l .ssh

total 8
-rw------- 1 carlos users 771 jun 18 19:47 prueba_rsa
-rw-r--r-- 1 carlos users 611 jun 18 19:47 prueba_rsa.pub

Exportar clave pública

Ahora sólo nos quedará añadir la clave pública que acabamos de generar (prueba_rsa.pub) al servidor SSH de la rpi, nos pedirá introducir la contraseña del usuario, en mi caso, la clave del usuario pi,

ssh-copy-id [email protected]

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Si ahora nos conectamos a la rpi por SSH no nos pide la contraseña. En mi distribución, Antergos, me aparece esta ventaba solicitando la contraseña de la clave que hemos generado antes, sólo la pide una primera vez.

Posibles errores

Puede ser que si creas la carpeta .ssh la crees sin los permisos adecuados y no funcione el acceso automático.

La carpeta ~.ssh/ del servidor (rpi) debe de tener permisos 700.

El fichero authorized_keys debe tener permisos 600.

Puedes ver el log para ver los errores

cat /var/log/auth.log

Jun 18 22:34:20 raspberrypi sshd[3175]: Authentication refused: bad ownership or modes for directory /home/pi/.ssh

Como veis, a mi no me funcionaba precisamente por un error de permisos equivocados en la carpeta /home/pi.ssh/

Espero que te haya gustado, pasa un buen día. 🐧

Ingrese la dirección de su instancia


Más publicaciones como esta

Montar imágenes RAW

2018-10-04 | #backup #raspberry

Lo que no iba a realizar es quemar esa imagen en otra tarjeta SD y recuperar los datos ya que existe una forma mas sencilla que consiste en montar esa imagen en nuestro sistema de ficheros y tratar con ella como si formara parte de nuestro sistema. La forma genórica de montar una imagen RAW sería: sudo mount -t tipo -o ro,loop,offset=$((512*inicio_particion)) opciones archivo_imagen.dd punto_montaje -o ro monta la imagen en formato de solo lectura

Continuar leyendo 


Emular Raspberry Pi en linux con qemu

2018-03-08 | #kvm #raspberry

Si no tienes una Raspberry Pi y quieres emular el funcionamiento de una distribución para Raspberry como Raspbian o Nextcloudpi, o si por el contrario si dispones de una pero no quieres estar grabando tarjetas cada vez que quieras probar diferentes distribuciones puedes usar QEMU para emular una Raspberry. Investigando por Duckduckgo vi varios enlaces donde explican la forma de hacerlo, pero sin duda la forma mas fácil es usando un script que han preparado en Nextcloudpi que además proporciona conectividad de red.

Continuar leyendo 