The BytePath Chronicles

Debian 12: Instalación del Servidor

El Corazón de la Bestia

Tras El Eclipse Digital, cada nodo reactivado es una chispa de orden en medio del caos. El primer paso: levantar un servidor funcional y establecer una conexión remota segura.

El sistema elegido es Debian 12, estable, conocido, resiliente. Un pilar fiable para reconstruir servicios esenciales.

La terminal será la interfaz clave: texto puro, sin distracciones. Cada comando ejecutado no solo configura una máquina, sino que restablece un fragmento del mundo anterior.

Es hora de comenzar la secuencia de inicialización.


El Despertar y la Renovación
root@1-bytepath~# apt update root@1-bytepath~# apt upgrade -y

Asignación de Identidad y Ubicación

Es momento de definir un hostname, el identificador único del sistema dentro de la red, y configurar una IP estática para garantizar su localización constante.

Estos parámetros actúan como las coordenadas permanentes de un nodo: permiten que otros sistemas puedan detectarlo, comunicarse con él y mantener su rol dentro de la infraestructura.


Identidad y Anclaje Local
root@1-bytepath~# nano /etc/hostname root@1-bytepath~# hostname 1-bytepath
Identidad y Anclaje Local
root@1-bytepath~# nano /etc/network/interfaces root@1-bytepath~# # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enp3s0 iface enp3s0 inet static address 192.168.8.150 netmask 255.255.255.0 gateway 192.168.8.1 dns-nameservers 192.168.8.1
Identidad y Anclaje Local
root@1-bytepath~# ping 192.168.8.1 PING 192.168.8.1 (192.168.8.1) 56(84) bytes of data. 64 bytes from 192.168.8.1: icmp_seq=1 ttl=64 time=0.421 ms 64 bytes from 192.168.8.1: icmp_seq=2 ttl=64 time=0.700 ms 64 bytes from 192.168.8.1: icmp_seq=3 ttl=64 time=0.699 ms 64 bytes from 192.168.8.1: icmp_seq=4 ttl=64 time=0.703 ms ^C --- 192.168.8.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3073ms rtt min/avg/max/mdev = 0.421/0.630/0.703/0.121 ms

Elevación de Privilegios: Acceso Administrativo

Para intervenir con libertad total sobre el sistema, Lara y Amin deben habilitar los permisos administrativos. En un entorno donde cada cambio puede afectar al núcleo del servidor, el control granular es esencial.

— Si algo va mal, necesitaremos intervenir al instante —murmura Lara, revisando su terminal—. No podemos depender de una cuenta root aislada.

Amin asiente. El primer paso es instalar sudo, una herramienta que permite ejecutar comandos con privilegios de superusuario desde una cuenta estándar. De este modo, pueden mantener seguridad y flexibilidad.

Una vez instalada, debe añadirse su usuario al grupo correspondiente. Es una operación sencilla, pero marca un punto de no retorno: a partir de aquí, las decisiones tendrán el poder de reconstruir... o colapsar el sistema.


Concediendo Privilegios de Superusuario
root@1-bytepath~# apt install sudo root@1-bytepath~# usermod -aG sudo amin
Reinicio de sistema
root@1-bytepath~# reboot
Login correcto
amin@1-bytepath:~$
Grupo 27 (sudo)
amin@1-bytepath:~$ id amin uid=1000(amin) gid=1000(amin) grupos=1000(amin),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),33(www-data),44(video),46(plugdev),100(users),106(netdev)

Habilitando el Acceso Seguro: Configuración del Canal SSH

Con el sistema operativo en funcionamiento y la red local estabilizada, el siguiente paso es establecer un método seguro de acceso remoto. Lara y Amin saben que dejar la puerta abierta sin protección no es una opción.

— Podríamos usar contraseñas, pero... ya sabes lo fácil que es capturar una si no hay cifrado —dice Amin, tecleando sin levantar la vista.

— Por eso usaremos SSH con autenticación por clave pública. Nadie cruza sin tener la llave correcta —responde Lara, mientras prepara el archivo de configuración.

OpenSSH es el protocolo estándar para conexiones remotas seguras. Al instalar y activar su servicio, el servidor aceptará conexiones cifradas, evitando que credenciales o comandos sean interceptados.

La autenticación por clave añade una capa crítica de seguridad. En lugar de depender únicamente de contraseñas, el acceso se controla mediante un par de claves: una pública que se copia al servidor y una privada que permanece en el equipo del administrador.

Es el momento de instalar el servicio y preparar el primer acceso cifrado. A partir de aquí, el servidor podrá ser controlado de forma remota con confidencialidad e integridad garantizadas.


El Despertar y la Renovación
amin@1-bytepath:~$ sudo apt install openssh-server amin@1-bytepath:~$
El Despertar y la Renovación
amin@1-bytepath:~$ sudo systemctl status sshd [sudo] contraseña para amin: ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; preset: enabled) Active: active (running) since Sun 2025-06-08 21:25:39 CEST; 55min ago Docs: man:sshd(8) man:sshd_config(5) Process: 480 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS) Main PID: 506 (sshd) Tasks: 1 (limit: 4421) Memory: 12.5M CPU: 582ms CGroup: /system.slice/ssh.service └─506 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups" jun 08 21:25:39 1-bytepath sshd[506]: Server listening on :: port 22. jun 08 21:25:39 1-bytepath systemd[1]: Started ssh.service - OpenBSD Secure Shell server.

La Primera Conexión: Verificando el Canal

Con el servicio SSH instalado y activo, ha llegado el momento de comprobar que la puerta remota responde. Esta primera conexión, aunque temporalmente basada en contraseña, es crucial para validar que el canal está operativo y que el servidor escucha desde su nuevo puesto en la red.

Lara abre su terminal desde un nodo cercano. Teclea el comando, introduce las credenciales de Amin y aguarda una fracción de segundo: una breve pausa cargada de tensión.

— Si entra, es que la red, el demonio SSH y el firewall están alineados —murmura Amin, siguiendo la salida de la terminal con atención.

Una conexión exitosa no solo confirma que la máquina es accesible, sino que allana el camino para el próximo paso: la implementación de autenticación por clave pública, más robusta y resistente a ataques.

Por ahora, este enlace es funcional… pero temporal. Es solo un puente provisional hacia un acceso verdaderamente seguro.


El Despertar y la Renovación
lara@kali:~$ ssh amin@192.168.8.150 lara@kali:~$ The authenticity of host '192.168.8.156 (192.168.8.156)' can't be established. ED25519 key fingerprint is SHA256:iK3eMxXpXVC/E6/23Whpschi06qHs2w4LR0ZXGbq/eQ. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?yes Warning: Permanently added '192.168.8.101' (ED25519) to the list of known hosts. amin@192.168.8.101's password: Linux debian 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Jun 9 16:59:42 2025 amin@1-bytepath:~$

Una ráfaga de texto en la pantalla confirma el éxito. La conexión se establece, y la visión de la terminal de Amin se proyecta ante los ojos de Lara. El camino remoto está abierto.

Forja de Claves: Cerraduras Cuánticas para Puertas Digitales

La conexión por contraseña había funcionado, sí. Pero para Lara, aquello era apenas una prueba de vida, no una solución duradera. Las contraseñas, incluso las complejas, eran residuos de una era más frágil.

Sentada frente a su terminal, ejecutó con precisión el comando que generaría su firma criptográfica: un par de claves ED25519. Este algoritmo moderno, eficiente y resistente incluso ante ataques cuánticos teóricos, sería el nuevo candado que sellaría el acceso remoto.

— Nada que se recuerde debería proteger un sistema —dijo en voz baja, mientras el cursor parpadeaba al compás de la generación de la clave.

Amin asintió, sabiendo que lo que estaban construyendo no era solo un servidor, sino una frontera segura. Una vez instalada la clave pública en su máquina, cerraría la puerta antigua de las contraseñas. Para siempre.

Ahora es tu turno. Sigue los pasos de Lara y genera tus propias llaves criptográficas. A partir de aquí, solo las firmas irrefutables abrirán las compuertas de tu sistema.


El Despertar y la Renovación
┌──(lara㉿kali)-[~] └─$ ssh-keygen -t ed25519 -C "lara@example.com" Generating public/private ed25519 key pair. Enter file in which to save the key (/home/lara/.ssh/id_ed25519): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/lara/.ssh/id_ed25519 Your public key has been saved in /home/lara/.ssh/id_ed25519.pub The key's randomart image is: +--[ED25519 256]--+ | .o. | | . o | | . + . . | | . + = + o | | . o + S . | | . = . . | | o * . | | . + E | | . . | +----[SHA256]-----+
El Despertar y la Renovación
┌──(lara㉿kali)-[~] └─$ ssh-copy-id amin@192.168.8.101 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/lara/.ssh/id_ed25519.pub" /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 key(s) amin@192.168.8.101's password: Number of key(s) added: 1 Now try logging in to the machine, with: "ssh 'amin@192.168.8.101'" and check to make sure that only the key(s) you wanted were added.

Con la clave pública de Lara instalada en el servidor de Amin, solo quedaba confirmar su funcionamiento real.

Desde su terminal, ejecutó la conexión. Esta vez, no hubo petición de contraseña. Solo un instante de espera, y luego, la aparición limpia del prompt remoto: estaban dentro.

— Funcionó —dijo Amin, observando el registro del sistema en tiempo real—. Sin fricción. Solo autenticación pura.

Lara asintió. La clave privada había sido aceptada, la identidad verificada, y el canal SSH se estableció sin intervención humana. Exactamente como debía ser.


El Despertar y la Renovación
┌──(lara㉿kali)-[~] └─$ ssh amin@192.168.8.101 Linux debian-server 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-19) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Tue Jun 10 00:15:20 2025 from 192.168.8.148 amin@1-bytepath:~$

La conexión sin contraseña era ahora una realidad, estable y silenciosa. Pero Lara sabía que dejar abierta la antigua vía de acceso era una amenaza latente. Las contraseñas podían ser adivinadas, forzadas o interceptadas; las claves, en cambio, no ofrecían ese margen.

Con el acceso SSH ya garantizado mediante autenticación criptográfica, el siguiente paso era definitivo: cerrar la puerta obsoleta. Desde la misma sesión remota, abrió el archivo sshd_config, núcleo de las directivas del servicio SSH en el servidor de Amin.

Un solo parámetro marcaría la diferencia. Bastaba con desactivar la opción PasswordAuthentication para bloquear por completo cualquier intento futuro de conexión mediante contraseña. Un ajuste mínimo, un cambio de estado, y sin embargo, el servidor cruzaría un umbral: de accesible a blindado.


El Despertar y la Renovación
amin@1-bytepath:~$ sudo nano /etc/ssh/sshd_config
El Despertar y la Renovación
amin@1-bytepath:~$ # CONTENIDO DEL ARCHIVO /etc/ssh/sshd_config (solo las partes relevantes) # [...] otras configuraciones [...] # Authentication: #LoginGraceTime 2m #PermitRootLogin prohibit-password #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 # To disable tunneled clear text passwords, change to no here! PasswordAuthentication no # <-- CAMBIAR DE 'yes' A 'no', O AÑADIR ESTA LÍNEA #PermitEmptyPasswords no # [...] más configuraciones [...] amin@1-bytepath:~$ sudo systemctl restart sshd

Lara, metódica como siempre, mantuvo la vista fija en la terminal. «Bien», murmuró, revisando línea por línea, «si el demonio SSH ha cargado correctamente la nueva configuración, entonces ya no habrá retorno: la autenticación por clave será el único acceso posible».

Amin, al escucharla, comprendió el peso del cambio. No era solo una medida técnica; era una declaración de principios. El servidor dejaba atrás la era de las contraseñas, cerrando una puerta demasiado fácil de forzar. Ahora, solo las claves —únicas, inquebrantables— serían aceptadas.

La Huida Silenciosa: Dejando el Servidor a su Suerte Controlada

La autenticación por clave funcionaba a la perfección, un logro técnico fundamental, pero la seguridad física del servidor seguía siendo una vulnerabilidad latente. La única defensa real era el olvido: mantenerlo operativo y desaparecer sin dejar rastro.

«Tenemos que dejar esto listo para funcionar de forma autónoma y luego desaparecer,» afirmó Lara, los ojos fijos en la pantalla, aunque su mente ya recorría la carretera de regreso. «Si regresamos, no será a este sitio. Desde ahora, monitorizaremos todo a distancia.»

La misión estaba clara: instalar las herramientas básicas para la gestión remota eficaz y luego fundirse con la sombra del olvido.


El Despertar y la Renovación
amin@1-bytepath:~$ sudo apt update [sudo] password for amin: Hit:1 http://deb.debian.org/debian bookworm InRelease Hit:2 http://deb.debian.org/debian bookworm-updates InRelease Hit:3 http://deb.debian.org/debian-security bookworm-security InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. amin@1-bytepath:~$ sudo apt install net-tools curl wget htop bash-completion -y Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libsqlite3-0 libxml2 libxslt1.1 libgpm2 libtinfo6 Suggested packages: moreutils The following NEW packages will be installed: bash-completion curl htop libgpm2 libsqlite3-0 libtinfo6 libxml2 libxslt1.1 net-tools wget 0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded. Need to get 3,576 kB of archives. After this operation, 13.5 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian bookworm/main amd64 libsqlite3-0 amd64 3.40.1-1 [807 kB] # [...] (muchas líneas de descarga y extracción) [...] Setting up bash-completion (2.11-6) ... Setting up curl (7.88.1-10) ... Setting up htop (3.2.2-1) ... Setting up libgpm2 (1.20.7-10) ... Setting up libxml2:amd64 (2.9.14+dfsg-1.3) ... Setting up libxslt1.1:amd64 (1.1.37-3) ... Setting up net-tools (2.10-1) ... Setting up wget (1.21.4-1) ... Processing triggers for man-db (2.11.2-1) ... Processing triggers for libc-bin (2.36-9+deb12u3) ...

El objetivo final: Arcadia. Un nombre que resonaba en las comunicaciones como un susurro de esperanza entre la desolación. Una ciudad donde, según los viejos archivos, los servidores no eran solo máquinas, sino fortalezas digitales custodiadas por una vigilancia incansable.

Lara miró a Amin y dijo en voz baja, casi para sí misma: "Si logramos llegar a Arcadia, quizás encontremos el refugio que este mundo necesita."

Amin asintió, con la mirada fija en el horizonte digital. "Pero aún queda camino por recorrer. Esto es solo el comienzo."

Mientras se desconectaban, el servidor quedó en marcha, un centinela solitario en la vasta red, esperando el próximo paso en esta odisea tecnológica.

PREV.. NEXT..