Tabla de contenido:
- Paso 1: A) Cree un archivo PPK privado, B) Cree una clave pública y C) Cópiela en el servidor remoto
- Paso 2: D) Convierta el archivo PPK privado a la clave OpenSSH y E) Cópielo en la Raspberry Pi
- Paso 3: consideraciones de seguridad
Video: Conexión SSH / SCP segura desde Raspberry Pi al servidor en la nube para copias de seguridad y actualizaciones: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
El propósito de este instructivo es mostrarle cómo conectarse de forma automática y segura desde su Raspberry Pi a un servidor en la nube remoto (y viceversa) para realizar copias de seguridad y actualizaciones, etc. Para hacer esto, usa pares de claves SSH que obviar la necesidad de recordar contraseñas y brindarle una conexión más segura.
(AVISO: no intente esto si no es competente en la configuración de permisos de Linux, de lo contrario hará que sus sistemas sean más vulnerables a los ataques de piratas informáticos).
Requisitos
1. Raspberry Pi con una interfaz de línea de comandos (CLI) como vería en Putty.
2. Acceso a un servidor en la nube remoto alojado por, digamos, OVH o DigitalOcean, con una CLI.
3. Una computadora portátil o PC con Windows con Putty y PuttyGen instalados.
Supuestos
1. Tienes cierto conocimiento de los comandos de Linux.
2. Puede acceder a su servidor remoto mediante procesos manuales convencionales, p. Ej. FTP.
3. Habrá PuttyGen preinstalado en su PC con Windows
Pasos
En resumen, consulte la Figura 1
a) En su PC con Windows, cree un archivo PPK privado usando PuttyGen
b) En su PC con Windows, cree un archivo PPK público usando PuttyGen (esto se hace automáticamente en el paso a)
b) En su PC con Windows, copie la clave pública de su PC con Windows al servidor de nube remoto
d) En su PC con Windows, convierta el archivo PPK privado a una clave OpenSSH usando PuttyGen
e) Copie la clave OpenSSH de su PC con Windows a la Raspberry Pi
f) Pruebe el acceso y la transferencia de archivos desde Raspberry Pi a su servidor remoto
Paso 1: A) Cree un archivo PPK privado, B) Cree una clave pública y C) Cópiela en el servidor remoto
Para crear un archivo PPK privado, abra PuttyGen en su PC con Windows. Puede acceder a PuttyGen haciendo clic derecho en el icono de masilla en la barra de tareas de Windows. En el menú PuttyGen, seleccione la clave y luego genere un par de claves, seleccione la opción SSH2 -RSA key. Se le pedirá que establezca una frase de contraseña cuando cree la clave privada, y si establece una frase de contraseña, se le pedirá durante operaciones futuras. Guarde la clave privada en algún lugar seguro de su PC con Windows. Luego verá la clave pública en el panel de la ventana como se muestra en la Figura 2.
A continuación, transfiramos la clave pública al servidor en la nube remoto. Abra una sesión de Putty en el servidor de nube remoto usando Putty. Digamos que ha iniciado sesión como remoteuser1 y luego haga lo siguiente en la CLI del servidor de nube remoto
cd / home / remoteuser1 (si aún no existe) mkdir.ssh
nano.ssh / allowed_keys (Verá una pantalla vacía; pegue la clave pública que se muestra en la figura 2, luego guarde y cierre este archivo)
chmod 0700.ssh
chmod 0600 /home/remoteuser1/.ssh/authorized_keys
Paso 2: D) Convierta el archivo PPK privado a la clave OpenSSH y E) Cópielo en la Raspberry Pi
Para convertir la clave privada a OpenSSH, abra PuttyGen y luego abra la clave privada que creó anteriormente; vaya a la opción Conversiones en el menú y luego elija Exportar clave OpenSSH; asegúrese de que el archivo que crea tenga el tipo de archivo.key. Guárdelo en un lugar seguro y luego abra una sesión de masilla para iniciar sesión en su Raspberry Pi. Copie el archivo de clave en el directorio de inicio de la Raspberry Pi de la cuenta de usuario que utilizó para iniciar sesión en la Raspberry Pi. Digamos que la clave se llama pitobot.key y luego siga estos pasos:
cd / home / pi
sudo mv pitobot.key / home / pi /
sudo chmod 600 pitobot.key
Ahora está listo para probar si su instalación es exitosa: nuevamente, esto se hace desde el Pi. Recuerde, remoteuser1 es la cuenta en el servidor de nube remoto en cuyo directorio personal guardó la clave pública, y ipaddress es la dirección de IP del servidor de nube remoto.
En primer lugar, desde Raspberry Pi, inicie sesión en el servidor en la nube remoto usando Putty. Escriba los siguientes comandos en Raspberry PI CLI. (Si configuró una frase de contraseña cuando creó una clave privada, se le pedirá ahora).
sudo ssh -i /home/pi/pitobot.key remoteuser1 @ ipaddress
Esto lo iniciará en la CLI del servidor de nube remoto en el directorio de inicio de remoteuser1. Al escribir 'salir; volverá a la CLI de su Raspberry Pi.
A continuación, intente transferir archivos desde el servidor en la nube remoto a la Raspberry Pi. Use los siguientes comandos: (Nuevamente, si estableció una frase de contraseña cuando creó una clave privada, se le pedirá ahora).
sudo scp -i /home/pi/pitobot.key remoteuser1 @ ipaddress: //var/www/html/*.* / home / pi /
Esto transferirá todos los archivos de la carpeta / var / www / html / en el servidor remoto a la carpeta / home / pi / en su Raspberry Pi. (Los dos puntos son muy importantes) Por supuesto, puede cambiar el orden de los comandos y transferir archivos desde el Pi al servidor remoto.
Paso 3: consideraciones de seguridad
Si bien el enfoque del par de claves SSH mejora la seguridad, considere lo siguiente:
1. Con los pares de claves SSH habilitados, debe considerar eliminar la capacidad de los usuarios para iniciar sesión directamente en el servidor remoto (también puede acceder a sus servidores usando los pares de claves Putty en Windows usando el mismo par de claves, y también podría considerar deshabilitar inicie sesión en su Pi también). Tenga cuidado si elige hacer esto y no adopte un enfoque de Big Bang. Para hacer esto, debe deshabilitar algunas configuraciones en el archivo de configuración ssh. Tenga mucho cuidado al hacer esto. Los comandos son
nano / etc / ssh / sshd_config
Y dentro del archivo realiza los siguientes cambios
Autenticación de contraseña no
UsePAM no
Guarde, salga y luego reinicie SSH mediante systemctl restart ssh (Esto es para Debian. Puede ser diferente en diferentes distribuciones de Linux)
2) Mantenga todas sus claves seguras, de lo contrario correrá el riesgo de una violación de datos o no tendrá acceso a sus servidores. Recomiendo mantenerlos en una bóveda segura como bitwarden.com y restringir el acceso a ellos a través de su política de control de acceso.
3) El uso de una frase de contraseña mejora la seguridad, pero puede dificultar la automatización de trabajos cron, etc. La decisión de utilizar esta y otras características debe estar determinada por la evaluación de riesgos, por ejemplo, si está procesando datos personales, entonces necesita controles mayores / proporcionados.
Recomendado:
Conexión de Arduino WiFi a la nube usando ESP8266: 7 pasos
Conectando Arduino WiFi a la Nube Usando ESP8266: En este tutorial te explicaremos cómo conectar tu Arduino a la nube IoT a través de WiFi Configuraremos una instalación compuesta por un Arduino y un módulo WiFi ESP8266 como una cosa IoT y la prepararemos para comunicarse con la nube AskSensors. L
Conceptos básicos de IoT: Conexión de su IoT a la nube con Mongoose OS: 5 pasos
Conceptos básicos de IoT: conexión de su IoT a la nube mediante el sistema operativo Mongoose: si es una persona a la que le gustan los retoques y la electrónica, la mayoría de las veces se encontrará con el término Internet de las cosas, generalmente abreviado como IoT, y eso se refiere a un conjunto de dispositivos que pueden conectarse a Internet. Siendo una persona así
Nueva nube personal Raspberry Pi 4 USB 3.0 con copia de seguridad RAID: 10 pasos
Nueva nube personal Raspberry Pi 4 USB 3.0 con copia de seguridad RAID: Hola y bienvenido. Hoy veremos cómo crear su propio sistema de software en la nube que le permitirá almacenar su información personal en una nube que usted controla y mantiene. Esta nube también empleará un espejo RAID 1 para que
Conexión de un sensor DHT11 / DHT22 a la nube con una placa basada en ESP8266: 9 pasos
Conexión de un sensor DHT11 / DHT22 a la nube con una placa basada en ESP8266: en el artículo anterior, conecté mi placa NodeMCU basada en ESP8266 a un servicio Cloud4RPi. ¡Ahora es el momento de un proyecto real
Cómo comprimir los archivos ISO de sus copias de seguridad de Psp en archivos CSO para ahorrar espacio: 4 pasos
Cómo comprimir los archivos ISO de sus copias de seguridad de Psp en archivos CSO para ahorrar espacio. se puede utilizar con Wine en Ubuntu. También necesitará una psp CFW (Cusstom Firm-Ware) para hacer