Cómo activar SSH en una Raspberry Pi

SSH viene desactivado por defecto en Raspberry Pi OS. Para una tarjeta nueva, activa Enable SSH en Raspberry Pi Imager, en Customisation, Remote Access. En una Pi en marcha, ejecuta sudo raspi-config y elige Interface Options, luego SSH. Sin pantalla, crea un archivo vacío llamado ssh en la partición de arranque y reinicia.

Actualizada el .

Tarjeta SD nueva: usa Raspberry Pi Imager

Es el método que recomienda Raspberry Pi para una configuración headless, es decir, sin pantalla ni teclado. Antes de escribir la tarjeta, define esto en las opciones de personalización:

  • Hostname: el nombre al que te conectarás; por ejemplo, server da server.local.
  • User: un nombre de usuario y una contraseña. En una configuración headless, son tu acceso.
  • Wi-Fi: el nombre y la contraseña de la red, salvo que la Pi vaya por Ethernet. Sin esto, una Pi headless nunca se une a la red.
  • Remote Access: activa Enable SSH y elige autenticación por contraseña o por clave pública.

Elige clave pública si ya tienes una: pega el contenido de tu archivo .pub, nunca la clave privada. Si no tienes ninguna, genera una primero. Los nombres de los menús cambian entre versiones de Imager: en Imager 1.8 los mismos ajustes están en Edit Settings, con SSH en la pestaña Services.

Raspberry Pi sugiere Raspberry Pi OS Lite para un dispositivo headless, porque no tiene escritorio que ejecutar.

Una Pi que ya puedes usar: raspi-config

sudo raspi-config

Elige Interface Options, luego SSH, responde Yes y después Finish. Para hacerlo sin el menú, por ejemplo en un script:

sudo raspi-config nonint do_ssh 0

Aquí 0 significa activar y 1 desactivar. En el escritorio, el mismo interruptor está en Preferences, Control Centre, Interfaces. En Bookworm y versiones anteriores la herramienta se llama Raspberry Pi Configuration.

Tarjeta ya escrita, sin pantalla: el archivo ssh

Pon la tarjeta en otro ordenador, o usa una shell en la Pi, y crea un archivo vacío llamado ssh en la partición de arranque. En la propia Pi, esa partición está montada en /boot/firmware:

sudo touch /boot/firmware/ssh

En otro ordenador aparece como una unidad pequeña: pon el archivo en su nivel superior, sin extensión. Después reinicia la Pi.

Esto solo activa el servidor. No crea un usuario. Las imágenes no traen un usuario pi por defecto desde abril de 2022, así que una tarjeta escrita sin los ajustes de Imager sigue necesitando una cuenta antes de poder entrar. La solución más simple es escribir de nuevo la tarjeta con Imager y definir allí el usuario.

Encontrar la Pi y conectar

Dale uno o dos minutos en el primer arranque. Luego prueba con el nombre:

ping raspberrypi.local
ssh user@raspberrypi.local

Usa tu propio hostname y nombre de usuario si los definiste. El nombre .local necesita mDNS en el ordenador desde el que te conectas. Si no se resuelve, usa la dirección IP. Para encontrarla:

  • En la Pi, si tienes pantalla, ejecuta hostname -I.
  • Mira la lista de dispositivos conectados de tu router.
  • Escanea tu propia red, ajustando el rango al de la tuya:
sudo nmap -sn 192.168.1.0/24

Si el acceso se detiene en Connection refused, el servidor aún no está activo: puede que el primer arranque siga generando claves de host, o que el ajuste no se aplicara. Si el nombre no se resuelve, mira Could not resolve hostname.

Tras el primer acceso

Instala tu clave si empezaste con una contraseña y luego desactiva el acceso por contraseña, sobre todo si la Pi será accesible desde fuera de tu red doméstica.

Cuando tengas varias placas, mira cómo gestionar muchos servidores SSH con grupos y etiquetas.

Preguntas

¿Cuál es el usuario y la contraseña por defecto de una Raspberry Pi?

No hay una contraseña por defecto en la que confiar. Desde abril de 2022 las imágenes de Raspberry Pi OS no traen el usuario pi por defecto: creas el usuario en Imager o en el primer arranque.

Fuentes

Más en SSH en cada sistema

Todas las guías