Cómo instalar y dejar listo un servidor con Debian 13

Cómo instalar y dejar listo un servidor con Debian 13: SSH, Cockpit, UFW y configuración básica

Si quieres montar un servidor con Debian y dejarlo listo para administrar de forma remota, hay una base que casi siempre conviene instalar desde el principio: acceso por SSH, firewall, actualizaciones, usuario con privilegios administrativos y una interfaz web como Cockpit para revisar el sistema más cómodamente.

Debian 13, con nombre clave Trixie, es actualmente la versión estable de Debian. Debian 13.0 fue lanzado el 9 de agosto de 2025 y su actualización más reciente es Debian 13.4, publicada el 14 de marzo de 2026. Además, Debian ofrece imágenes netinst, que son ideales para montar un servidor limpio y ligero. (Debian)

En este tutorial te voy a mostrar cómo instalar Debian 13 y dejarlo preparado para usarse como servidor con:

  • Debian 13 mínimo
  • OpenSSH Server
  • Cockpit
  • UFW
  • usuario administrativo con sudo
  • configuraciones iniciales recomendadas

Qué vas a necesitar

Antes de empezar, prepara esto:

  • Una USB booteable con Debian 13 netinst
  • Conexión a internet durante la instalación
  • Un equipo físico o máquina virtual
  • La IP local o pública que usará el servidor

La imagen netinst de Debian instala una base mínima del sistema y descarga el resto de los paquetes desde internet, lo cual la hace muy adecuada para servidores. (Debian)

Como BOOTEAR una USB con debian.

primero vas a descargar la imagen iso, de debian. por ejemplo esta. este es un ejemplo es recomendable entrar a su sitio para bajar la ultima version.

despues te vas a descargar la herramienta rufus para bootear la imagen ISO

Instalar Debian 13 en modo servidor

Durante la instalación de Debian:

Recomendación de selección

Cuando llegues a la parte de selección de software:

  • Desmarca entorno de escritorio
  • Marca:
    • SSH server
    • Standard system utilities

Debian indica que la tarea SSH server instala OpenSSH, y que Standard system utilities añade muchas herramientas comunes que normalmente conviene dejar seleccionadas salvo que busques un sistema extremadamente mínimo. (Debian)

Consejos prácticos durante la instalación

  • Usa un nombre de host claro, por ejemplo:
    debian-servidor
  • Si Debian te pide crear contraseña de root, puedes hacerlo, aunque para muchos escenarios conviene trabajar con un usuario normal y sudo.
  • Crea un usuario principal, por ejemplo:
    andres

Cuando termine la instalación, inicia sesión en consola.

Actualizar completamente el sistema

Lo primero después de instalar Debian es actualizar la información de paquetes y aplicar actualizaciones.

sudo apt update
sudo apt full-upgrade -y

La documentación de Debian explica que apt update reconstruye y actualiza los metadatos locales de APT, mientras que apt full-upgrade resuelve dependencias e instala las versiones candidatas disponibles de los paquetes. (Debian)

Después, reinicia por si se actualizó el kernel:

sudo reboot

Instalar sudo y dar permisos administrativos a tu usuario

Si tu instalación no dejó sudo listo, instálalo:

$ su -
# apt install sudo -y

Ahora agrega tu usuario al grupo sudo:

# usermod -aG sudo andres
# exit
# su -l andres
$ sudo apt update

EN este momento ya podrás usar sudo

Cierra sesión y vuelve a entrar para que se apliquen los cambios.

Puedes comprobarlo con:

groups

O también:

sudo whoami

Si devuelve root, ya quedó bien.

✅ 1. Primero identifica tu interfaz de red

Ejecuta:





ip a

Busca algo como:

  • enp0s3
  • ens18
  • eth0

👉 Ese nombre lo vas a usar después.


🚀 PONER IP PRIVADA ESTÁTICA MÉTODO RECOMENDADO (systemd-networkd en Debian Trixie)

Crear archivo de configuración

sudo nano /etc/systemd/network/20-static.network

Pega esto (ajusta tus datos):

[Match]
Name=enp0s3[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8 1.1.1.1

📌 Cambia:

  • enp0s3 → tu interfaz real
  • 192.168.1.100 → tu IP fija
  • 192.168.1.1 → tu router

Activar systemd-networkd (si no está activo)

sudo systemctl enable systemd-networkd
sudo systemctl restart systemd-networkd

Y también DNS:

sudo systemctl restart systemd-resolved

Verificar

ip a
ip route
resolvectl status

🟡 MÉTODO ALTERNATIVO (si usas /etc/network/interfaces)

Editar archivo:

sudo nano /etc/network/interfaces

Ejemplo:

auto enp0s3
iface enp0s3 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1

Reiniciar red:

sudo systemctl restart networking

⚠️ IMPORTANTE (muy importante en servidores)

Si estás conectado por SSH:

  • Hazlo con cuidado
  • Idealmente usa consola directa o IPMI
  • Un error en gateway puede cortarte la conexión

Verificar o instalar SSH

Debian usa comúnmente OpenSSH Server para acceso remoto seguro. El paquete openssh-server es el servidor SSH oficial disponible en Debian. (packages.debian.org)

Si no lo instalaste durante el instalador:

sudo apt install openssh-server -y

Activa y arranca el servicio:

sudo systemctl enable --now ssh

Comprueba que esté funcionando:

sudo systemctl status ssh

También puedes revisar en qué IP está el equipo:

ip a

Y desde otra computadora probar:

ssh andres@IP_DEL_SERVIDOR

Configuración básica recomendada de SSH

El archivo principal de configuración es:

sudo nano /etc/ssh/sshd_config

Una configuración inicial razonable para un servidor casero o VPS puede ser esta:

PermitRootLogin no
PasswordAuthentication yes
PubkeyAuthentication yes
X11Forwarding no

Qué significa esto

  • PermitRootLogin no evita que root inicie sesión directamente por SSH.
  • PasswordAuthentication yes permite entrar con contraseña.
  • PubkeyAuthentication yes deja habilitado el acceso con llave SSH.
  • X11Forwarding no desactiva el reenvío gráfico, que en muchos servidores no hace falta.

En la documentación de sshd_config para Debian, PasswordAuthentication existe y su valor por defecto es yes, mientras que PermitRootLogin admite valores como yes, prohibit-password, forced-commands-only y no; el valor por defecto moderno es prohibit-password. (manpages.debian.org)

Guarda el archivo y recarga SSH:

sudo systemctl restart ssh

Muy importante

No desactives la autenticación por contraseña hasta comprobar que tus llaves SSH funcionan correctamente.

nstalar y configurar UFW

UFW es un frontend para Netfilter/iptables pensado para simplificar la gestión del firewall desde línea de comandos, y está disponible en Debian 13. (packages.debian.org)

Instálalo:

sudo apt install ufw -y

Por defecto, UFW queda desactivado y maneja una política de denegar conexiones entrantes, permitir salientes y denegar forwarding, lo cual es una base bastante segura para un servidor simple. (manpages.debian.org)

Permitir SSH antes de activarlo

Este paso es vital. Si activas el firewall sin abrir SSH, podrías bloquearte a ti mismo.

(PRIMERO PERMITES PUERTOS Y DESPUES ACTIVAS UFW)

sudo ufw allow OpenSSH

O si prefieres por puerto:

sudo ufw allow 22/tcp

Ahora sí, activa UFW:

sudo ufw enable

Comprueba el estado:

sudo ufw status verbose

Instalar Cockpit

Cockpit es una interfaz web para administrar máquinas Linux. Según su documentación, normalmente se accede por el puerto 9090 y usa las credenciales del propio sistema Linux para iniciar sesión. Además, en Debian está disponible desde Debian 10, y el proyecto recomienda instalarlo desde backports para tener una versión más reciente. (Cockpit Project)

Agregar backports de Debian 13

. /etc/os-release
echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" | sudo tee /etc/apt/sources.list.d/backports.list
sudo apt update

Instalar Cockpit

sudo apt install -t ${VERSION_CODENAME}-backports cockpit -y

Activar Cockpit

sudo systemctl enable --now cockpit.socket

Comprueba su estado:

sudo systemctl status cockpit.socket

Abrir Cockpit en el firewall

Como Cockpit usa el puerto 9090, debes permitirlo en UFW:

sudo ufw allow 9090/tcp

Vuelve a revisar las reglas:

sudo ufw status

Entrar a Cockpit desde el navegador

Desde otra computadora, entra a:

https://IP_DEL_SERVIDOR:9090

La documentación oficial de Cockpit indica que escucha por el puerto 9090 y que, si llega una conexión HTTP, redirige a HTTPS. También explica que si no encuentra un certificado configurado, genera uno autofirmado. (Cockpit Project)

Qué esperar la primera vez

Lo normal es que el navegador muestre una advertencia de seguridad por el certificado autofirmado. Puedes continuar manualmente o más adelante instalar un certificado válido si expondrás Cockpit hacia internet.

Inicia sesión con tu usuario del sistema, por ejemplo:

  • usuario: andres
  • contraseña: la del sistema

Crear una llave SSH desde tu computadora cliente

Esto no se hace en el servidor, sino en la computadora desde la que te conectarás.

Genera una llave:

ssh-keygen -t ed25519 -C "mi-servidor"

Pulsa Enter para aceptar la ruta por defecto.

Luego copia la llave al servidor:

ssh-copy-id andres@IP_DEL_SERVIDOR

Ahora prueba entrar:

ssh andres@IP_DEL_SERVIDOR

Si entra sin pedir la contraseña del servidor o solo te pide la passphrase de tu llave, ya quedó.


Endurecer SSH después de probar la llave

Cuando confirmes que tu llave SSH funciona bien, ya puedes desactivar el acceso por contraseña para mejorar la seguridad.

Edita otra vez:

sudo nano /etc/ssh/sshd_config

Y deja así:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
X11Forwarding no

Reinicia SSH:

sudo systemctl restart ssh

A partir de aquí, el acceso será solo con llave SSH.

Paquetes útiles para un servidor recién instalado

Una base práctica podría ser esta:

sudo apt install curl wget git htop btop vim nano unzip ca-certificates lsb-release apt-transport-https -y

No todos son obligatorios, pero suelen ser muy útiles para administración, descargas, edición y diagnóstico.

Configuración de zona horaria

Comprueba la hora del servidor:

timedatectl

Si quieres ponerlo en horario de México:

sudo timedatectl set-timezone America/Mexico_City

Después verifica:

timedatectl

Comprobar que todo quedó listo

Haz esta revisión rápida:

Estado del firewall

sudo ufw status verbose

Estado de SSH

sudo systemctl status ssh

Estado de Cockpit

sudo systemctl status cockpit.socket

Puertos escuchando

sudo ss -tulpn

Deberías ver al menos:

  • 22 para SSH
  • 9090 para Cockpit

Recomendaciones importantes antes de ponerlo en producción

Si el servidor se usará realmente en internet, conviene además:

  • usar autenticación por llave SSH
  • desactivar login por contraseña
  • no permitir login directo de root
  • mantener Debian actualizado
  • abrir solo los puertos estrictamente necesarios
  • si Cockpit estará expuesto a internet, protegerlo con reglas de firewall estrictas o acceso por VPN
  • hacer respaldos antes de cambios grandes

Con esta instalación ya tienes una base bastante buena para empezar a usar Debian 13 como servidor: acceso remoto por SSH, panel web con Cockpit, firewall con UFW y una configuración inicial mucho más ordenada y segura que una instalación “tal cual sale”.

Lo bueno de este enfoque es que empiezas con un sistema limpio y ligero, y después ya puedes montar encima lo que realmente necesites: Apache, Nginx, Docker, bases de datos, Nextcloud, WordPress o servicios internos de tu red.

Deja un comentario