# Raspberry Pi

Cosas que he tenido que hacer con una Raspberry Pi y no quiero volver a buscar.

# Pre-Instalación

# Configuración inicial de Raspberry Pi en modo headless con SSH

---

Este tutorial explica cómo preparar una tarjeta microSD para usar una Raspberry Pi sin monitor ni teclado (modo headless), activando SSH y creando un usuario personalizado para mayor seguridad.

---

### Requisitos previos

- Raspberry Pi (en este caso, una Raspberry Pi 3B)
- Tarjeta microSD (recomendado mínimo 8GB)
- Ordenador con Windows, Linux o macOS
- [Balena Etcher](https://www.balena.io/etcher/) (opcional, también puedes usar Raspberry Pi Imager)
- Cable Ethernet (opcional, si no usas Wi-Fi)

---

### 1. Descargar la imagen de Raspberry Pi OS

Visita la [web oficial de Raspberry Pi](https://www.raspberrypi.com/software/) y descarga la imagen adecuada. Para una Raspberry Pi 3B, se recomienda la versión **32 bits (Raspberry Pi OS Lite)** para un entorno minimalista y más ligero.

---

### 2. Grabar la imagen en la microSD

1. Abre **Balena Etcher** o **Raspberry Pi Imager**.
2. Selecciona la imagen de Raspberry Pi OS descargada.
3. Elige la tarjeta microSD como destino.
4. Haz clic en "Flash!" para grabar la imagen.

---

### 3. Activar SSH

Activar SSH permite administrar la Raspberry Pi de forma remota desde otro dispositivo. Cambiar el usuario predeterminado es crucial para evitar vulnerabilidades.

#### En Windows:

1. Una vez grabada la imagen, Balena Etcher expulsará la tarjeta automáticamente.
2. Vuelve a insertarla en tu ordenador. Verás una partición llamada **boot** o **bootfs**.
3. Abre esa partición y **crea un archivo vacío**:
   - Haz clic derecho y selecciona **Nuevo > Documento de texto**.
   - Nómbralo **ssh** (sin extensión). Asegúrate de que **NO tenga ninguna extensión** como `.txt`.

#### En Linux/macOS:

Abre una terminal y ejecuta:

```bash
cd /ruta/de/la/tarjeta/montada/boot
touch ssh
```

---

### 4. Crear un usuario personalizado con contraseña segura

Es recomendable crear un usuario personalizado para mejorar la seguridad del sistema.

#### Generar una contraseña encriptada:

1. Abre una terminal en Linux o macOS y ejecuta:

   ```bash
   read -s pw
   echo "$pw" | openssl passwd -6 -stdin
   ```

2. Introduce la contraseña deseada. Obtendrás una cadena encriptada similar a:

   ```
   $6$4E2z6hQOGLZCK5ZN$ESo2r/tO7Sy1Xmyp/bFzQ0A8zNNMhOoj0XocoGVbc8PVLcHlDr/kQiRvv/vOfdopLkylTVQSfK4n97SR9VGGF1
   ```

#### Crear el archivo `userconf.txt`:

1. En la partición **boot** de la tarjeta microSD, crea un archivo llamado `userconf.txt`.
2. Ábrelo con un editor de texto y añade una línea con el siguiente formato:

   ```
   nombre_usuario:contraseña_encriptada
   ```

   Por ejemplo:

   ```
   usuario:$6$4E2z6hQOGLZCK5ZN$ESo2r/tO7Sy1Xmyp/bFzQ0A8zNNMhOoj0XocoGVbc8PVLcHlDr/kQiRvv/vOfdopLkylTVQSfK4n97SR9VGGF1
   ```

   Guarda y cierra el archivo.

---

### 5. Arrancar la Raspberry Pi y acceder por SSH

1. **Insertar y conectar:**
   - Inserta la tarjeta microSD en la Raspberry Pi.
   - Conéctala a la red local mediante un cable Ethernet o Wi-Fi configurado.
   - Enciende la Raspberry Pi.

2. **Encontrar la dirección IP:**
   - Verifica la IP desde tu router o usa este comando en Linux/macOS:

     ```bash
     arp -a
     ```

3. **Acceder por SSH:**
   - Desde tu ordenador, abre una terminal o cliente SSH y ejecuta:

     ```bash
     ssh nombre_usuario@ipraspberry
     ```

   - Sustituye `nombre_usuario` por el que especificaste en `userconf.txt` y `ipraspberry` por la dirección IP de tu Raspberry Pi.
   - Introduce la contraseña configurada.

4. **Opción alternativa:**
   - Si tienes `avahi-daemon` habilitado, puedes usar:

     ```bash
     ssh pi@raspberrypi.local
     ```

¡Listo! Ahora deberías estar conectado a tu Raspberry Pi sin necesidad de monitor ni teclado.