SSH: Qué es, Cómo Configurar y Comandos Esenciales [Guía 2026] ¿Qué es SSH? SSH (Secure Shell) es un protocolo de red criptográfico que permite una comunicación segura entre dos sistemas conectados a través de una red no segura, como internet. Proporciona un método seguro para acceder a un servidor remoto, ejecutar comandos y transferir archivos de forma cifrada. En el mundo de la administración de sistemas y la ciberseguridad, entender SSH qué es y cómo utilizarlo es tan fundamental como el aire que respiramos. Secure Shell, conocido comúnmente como SSH, no es solo una herramienta, sino un estándar de facto para la interacción remota segura con servidores Linux, routers y otros dispositivos de red. Su capacidad para cifrar el tráfico entre el cliente y el servidor lo convierte en la primera línea de defensa contra escuchas, secuestros de sesión y otros ataques maliciosos. Esta guía completa de 2026 te sumergirá en el protocolo SSH, desde sus fundamentos hasta las configuraciones más avanzadas y los comandos esenciales que todo administrador de sistemas debe dominar. Abordaremos cómo configurar SSH, la importancia de la autenticación por clave privada/pública y cómo fortalecer la seguridad de tus servidores. Punto ClaveSSH es vital para la seguridad en la administración remota de servidores.La autenticación por claves privadas/públicas es superior a las contraseñas.La configuración de sshd_config permite endurecer drásticamente la seguridad.Los túneles SSH y la transferencia segura de archivos (SCP/SFTP) amplían sus capacidades.Herramientas como Fail2ban complementan la protección básica de SSH. ¿Qué es SSH y por qué es fundamental para la seguridad? SSH, o Secure Shell, se estableció como el sucesor seguro de protocolos obsoletos como Telnet y rlogin, que transmitían información, incluyendo credenciales, en texto plano. Su invención fue una respuesta directa a las crecientes necesidades de seguridad en la era de internet. Cuando hablamos de SSH qué es, nos referimos a un protocolo robusto que opera en la capa de aplicación del modelo TCP/IP, proporcionando servicios de red seguros sobre una red insegura. La importancia de SSH radica en su capacidad para garantizar la confidencialidad, integridad y autenticación. Esto significa que la información transmitida no puede ser interceptada y leída por terceros (confidencialidad), no puede ser alterada durante la transmisión (integridad), y tanto el cliente como el servidor pueden verificar la identidad del otro (autenticación). Sin SSH, la administración remota de servidores sería un campo minado, propenso a ciberataques que comprometerían infraestructuras críticas. El protocolo SSH: Puertos y cifrado Por defecto, SSH utiliza el puerto TCP 22 para establecer conexiones. Este puerto es universalmente reconocido, lo que lo convierte en un objetivo frecuente para ataques de fuerza bruta. Sin embargo, la verdadera seguridad de SSH no reside en el puerto, sino en sus sofisticados mecanismos de cifrado. Cuando se establece una conexión SSH, se negocia un conjunto de algoritmos de cifrado simétricos y asimétricos, así como algoritmos de hash para verificar la integridad de los datos. El proceso de negociación inicial (handshake) utiliza criptografía asimétrica (claves públicas y privadas) para establecer una clave de sesión única, la cual se utilizará para cifrar todo el tráfico restante con un algoritmo simétrico (como AES). Este enfoque híbrido combina la seguridad de la criptografía asimétrica para el intercambio de claves con la eficiencia de la criptografía simétrica para la transmisión masiva de datos, garantizando una comunicación rápida y ultrasegura. Modelo cliente-servidor de SSH El protocolo SSH opera bajo un modelo cliente-servidor bien definido. El "cliente SSH" es el programa que un usuario utiliza para iniciar una conexión remota (por ejemplo, ssh en sistemas operativos tipo Unix o PuTTY en Windows). El "servidor SSH" (conocido como sshd, el demonio SSH) es el software que se ejecuta en la máquina remota y espera conexiones entrantes en el puerto 22 (o en un puerto configurado alternativo). Cuando un cliente SSH intenta conectarse, el servidor SSH verifica la autenticidad del cliente. Esto puede hacerse de varias maneras: mediante contraseña, mediante un par de claves SSH (la forma más segura), o a través de otros métodos como la autenticación basada en Kerberos. Una vez que el cliente es autenticado y la conexión segura es establecida, el cliente puede ejecutar comandos en el servidor remoto como si estuviera sentado directamente frente a él. Esta interacción remota es la piedra angular de la administración de sistemas moderna, permitiendo a los administradores gestionar infraestructuras desde cualquier lugar del mundo. Cómo conectarse a un servidor SSH: Comandos esenciales Conectarse a un servidor SSH es un proceso directo una vez que se entienden los SSH comandos básicos. La herramienta principal es el comando ssh, disponible en prácticamente todos los sistemas operativos basados en Unix/Linux y macOS. Para Windows, las versiones recientes incluyen un cliente OpenSSH integrado, y PuTTY sigue siendo una alternativa popular. El comando ssh tiene una sintaxis simple pero poderosa, permitiendo a los usuarios especificar el nombre de usuario, el host, el puerto e incluso la clave de autenticación. Dominar estos comandos es el primer paso para una administración de servidores efectiva y segura. Consejo: Antes de intentar conectarte, asegúrate de que el servidor remoto tenga el servicio sshd en ejecución. En la mayoría de los sistemas Linux, puedes verificarlo con systemctl status sshd. ssh user@host: La conexión básica La forma más fundamental de conectarse es especificando el nombre de usuario y el host del servidor. Por ejemplo, si tu nombre de usuario en el servidor es admin y la dirección IP o el nombre de dominio es 192.168.1.100 o servidor.ejemplo.com, el comando sería: ssh admin@192.168.1.100 O bien: ssh admin@servidor.ejemplo.com Si esta es la primera vez que te conectas a este host, SSH te pedirá que confirmes la huella digital del servidor para evitar ataques de Man-in-the-Middle (MITM). Una vez confirmada, esta huella se guardará en tu archivo ~/.ssh/known_hosts. Posteriormente, se te solicitará la contraseña del usuario (si estás usando autenticación por contraseña) o se intentará la autenticación por clave. -p port: Especificando un puerto alternativo Como mencionamos, el puerto por defecto para SSH es el 22. Sin embargo, por razones de seguridad, es común que los administradores cambien este puerto a uno no estándar para reducir la exposición a escaneos automáticos. Si el servidor SSH está configurado para escuchar en un puerto diferente, por ejemplo, el puerto 2222, debes especificarlo usando la opción -p: ssh admin@servidor.ejemplo.com -p 2222 Esta práctica, aunque no es una bala de plata contra atacantes determinados, sí ayuda a reducir el "ruido" de los bots y herramientas de escaneo automatizadas que solo prueban el puerto 22. -i key: Autenticación con clave privada La autenticación por clave SSH es el método preferido y más seguro. En lugar de una contraseña, utilizas un par de claves: una clave pública en el servidor y una clave privada en tu máquina local. Para especificar la ruta a tu clave privada (si no está en la ubicación por defecto ~/.ssh/id_rsa o ~/.ssh/id_ed25519), usas la opción -i: ssh -i ~/.ssh/mi_clave_privada admin@servidor.ejemplo.com Asegúrate de que tu clave privada tenga permisos restringidos (chmod 400 ~/.ssh/mi_clave_privada) para que solo tú puedas leerla. Si tu clave privada está protegida con una frase de contraseña (passphrase), SSH te la pedirá al intentar conectarte. ¿Quieres dominar la administración de servidores Linux?Nuestro curso de Administración de Servidores Linux te enseña todo lo necesario, desde los fundamentos de SSH hasta la gestión avanzada de la infraestructura. ¡Conviértete en un experto y asegura tus sistemas! Ver Curso Generación y gestión de claves SSH: El pilar de la autenticación segura La autenticación con claves SSH es fundamental para cualquier estrategia de seguridad moderna en la administración de servidores. A diferencia de las contraseñas, que pueden ser adivinadas, robadas o comprometidas por ataques de fuerza bruta, las claves SSH son criptográficamente robustas y prácticamente imposibles de descifrar. Un par de claves SSH consiste en una clave pública, que se puede compartir libremente y se coloca en el servidor, y una clave privada, que debe mantenerse en secreto y almacenarse de forma segura en la máquina cliente. La gestión adecuada de estas claves es tan importante como su generación. Asegurarse de que las claves privadas no caigan en manos equivocadas es crucial, ya que otorgan acceso directo al servidor sin necesidad de contraseña. ssh-keygen: RSA vs. Ed25519 El comando ssh-keygen es la herramienta estándar para generar pares de claves SSH. Cuando ejecutas ssh-keygen sin argumentos, por defecto generará un par de claves RSA. Sin embargo, existen diferentes algoritmos criptográficos que puedes elegir, siendo RSA y Ed25519 los más comunes y recomendados. ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com" Este comando genera una clave RSA de 4096 bits (recomendado), añadiendo un comentario para identificarla fácilmente. Se te pedirá una frase de contraseña para proteger la clave privada, lo cual es altamente recomendable. Si no especificas una frase de contraseña, la clave privada no tendrá protección adicional. Para generar una clave Ed25519, el comando es aún más simple y muchas veces preferido por su rendimiento y seguridad en tamaños de clave más pequeños: ssh-keygen -t ed25519 -C "tu_email@ejemplo.com" Ed25519 es un algoritmo de criptografía de curva elíptica que ofrece seguridad equivalente o superior a RSA con tamaños de clave más pequeños y un rendimiento más rápido. Es una excelente opción para nuevas implementaciones. Tabla: Comparación RSA vs. Ed25519 Característica RSA Ed25519 Algoritmo Basado en factorización de números primos. Basado en curvas elípticas (Edwards-curve Digital Signature Algorithm). Tamaño de Clave Común 2048-4096 bits (4096 bits recomendado). 256 bits (fijo). Rendimiento Más lento en generación y verificación en tamaños de clave grandes. Más rápido en generación y verificación. Seguridad Muy seguro con claves de 4096 bits. Muy seguro, ofrece resistencia superior a ciertos ataques con clave más pequeña. Adopción Ampliamente adoptado, compatibilidad universal. Creciente adopción, excelente compatibilidad con sistemas modernos. Consejo: Siempre utiliza una frase de contraseña fuerte para proteger tu clave privada SSH. Esto añade una capa de seguridad crítica en caso de que tu archivo de clave privada sea comprometido. ssh-copy-id: Distribuyendo tu clave pública Una vez que tienes tu par de claves generado, el siguiente paso es copiar la clave pública al servidor remoto para que pueda ser utilizada para la autenticación. El comando más fácil y recomendado para esto es ssh-copy-id: ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@servidor.ejemplo.com Este comando se conectará al servidor (usando tu contraseña por única vez si es necesario), creará el directorio ~/.ssh/ si no existe, ajustará los permisos correctamente y añadirá tu clave pública (id_ed25519.pub en este ejemplo) al archivo ~/.ssh/authorized_keys del usuario admin en el servidor remoto. Si no especificas la clave con -i, ssh-copy-id intentará copiar tus claves públicas por defecto (~/.ssh/id_rsa.pub o ~/.ssh/id_ed25519.pub). Después de ejecutar este comando con éxito, deberías poder conectarte al servidor sin necesidad de contraseña (o solo con la frase de contraseña de tu clave privada). Fortaleciendo tu servidor SSH: La configuración sshd_config La seguridad de tu servidor Linux no termina con el uso de claves SSH; de hecho, ahí es donde empieza la verdadera labor de endurecimiento. El archivo de configuración principal del demonio SSH es /etc/ssh/sshd_config. Modificar este archivo te permite implementar políticas de seguridad estrictas que protegen tu servidor de accesos no autorizados y ataques de fuerza bruta. Es crucial reiniciar el servicio SSH (systemctl restart sshd o service ssh restart) después de cualquier cambio para que surtan efecto. Las siguientes directivas son fundamentales para una configuración robusta, que además refuerza los principios de seguridad semántica de tu infraestructura. Deshabilitar el acceso root y autenticación por contraseña Permitir el acceso directo al usuario root a través de SSH es un riesgo de seguridad significativo. Si un atacante logra comprometer la cuenta root, obtendría control total sobre el sistema. La mejor práctica es conectarse con un usuario no privilegiado y luego usar sudo para tareas administrativas. Para deshabilitar el acceso root: PermitRootLogin no En cuanto a la autenticación por contraseña, una vez que has configurado la autenticación por clave privada/pública, no hay razón para permitir contraseñas, las cuales son inherentemente más débiles. Deshabilitar la autenticación por contraseña fuerza a todos los usuarios a usar claves SSH, lo que aumenta drásticamente la seguridad: PasswordAuthentication no Asegúrate de que tus claves SSH funcionan correctamente antes de aplicar este cambio, ¡o podrías quedar bloqueado de tu propio servidor! Cambiando el puerto por defecto (Puerto 22) Aunque no es una medida de seguridad infalible, cambiar el puerto SSH por defecto (22) a un puerto no estándar (por ejemplo, 2222, 2200, 4444) puede reducir significativamente el volumen de intentos de conexión no autorizados y ataques de escaneo automatizados. Esto se debe a que la mayoría de los bots solo escanean el puerto 22. Para cambiarlo, edita la línea: Port 2222 Recuerda ajustar tu firewall (como UFW o firewalld) para permitir el tráfico en el nuevo puerto y, por supuesto, usar la opción -p al conectarte desde el cliente SSH. AllowUsers y otras directivas de control de acceso Para un control aún más granular sobre quién puede acceder al servidor vía SSH, puedes utilizar la directiva AllowUsers. Esta directiva te permite especificar una lista de usuarios a los que se les permite iniciar sesión. Si un usuario no está en esta lista, su intento de conexión será rechazado. AllowUsers admin devops También existen otras directivas como DenyUsers, AllowGroups y DenyGroups que ofrecen flexibilidad adicional. Es buena práctica limitar el acceso solo a los usuarios y grupos que realmente lo necesitan. Otras directivas importantes incluyen: MaxAuthTries 3: Limita el número de intentos de autenticación antes de cerrar la conexión, ayudando a mitigar ataques de fuerza bruta. PermitEmptyPasswords no: Asegura que ningún usuario con contraseña vacía pueda iniciar sesión (generalmente ya está configurado por defecto). ClientAliveInterval 300 y ClientAliveCountMax 2: Mantienen la sesión activa o la cierran si el cliente no responde después de un tiempo, útil para cerrar sesiones olvidadas. Túneles SSH: Más allá de la conexión directa Los túneles SSH son una característica increíblemente potente y versátil que permite reenviar tráfico de red de forma segura a través de una conexión SSH cifrada. Esto es particularmente útil para acceder a servicios restringidos a la red local de un servidor, para navegar por internet de forma segura a través de un proxy, o para conectar redes internas. Hay tres tipos principales de túneles SSH: local, remoto y dinámico (SOCKS proxy). Entender los túneles SSH puede mejorar drásticamente tu capacidad para gestionar redes y servicios de forma segura, incluso en entornos complejos o con firewalls restrictivos. Túnel local (Port Forwarding local) Un túnel local te permite reenviar un puerto desde tu máquina local a un puerto en un servidor remoto, y desde allí a otro host o servicio. Es como si el servicio remoto estuviera ejecutándose localmente. La sintaxis es -L [puerto_local]:[host_remoto]:[puerto_remoto]. Imagina que tienes un servidor de base de datos MySQL (puerto 3306) en 192.168.1.50, y tu servidor SSH (servidor.ejemplo.com) tiene acceso a él, pero tú no desde tu máquina local. Puedes crear un túnel: ssh -L 8888:192.168.1.50:3306 admin@servidor.ejemplo.com Ahora, cualquier conexión a localhost:8888 en tu máquina local será reenviada a 192.168.1.50:3306 a través del túnel SSH. Esto te permite usar tu cliente MySQL local para conectarte a la base de datos remota de forma segura. Túnel remoto (Port Forwarding remoto) El túnel remoto es lo opuesto al local: permite reenviar un puerto del servidor SSH (o de otra máquina a la que el servidor tenga acceso) a un puerto en tu máquina local. La sintaxis es -R [puerto_remoto]:[host_local]:[puerto_local]. Un caso de uso común es permitir que un servidor remoto acceda a un servicio que se ejecuta en tu máquina local, quizás detrás de un firewall. Por ejemplo, si tienes un servidor web de desarrollo en localhost:8000 en tu máquina local y quieres que servidor.ejemplo.com pueda acceder a él: ssh -R 8080:localhost:8000 admin@servidor.ejemplo.com Ahora, desde servidor.ejemplo.com, cualquier conexión a localhost:8080 será reenviada a localhost:8000 en tu máquina local. Esto es útil para demostraciones o para permitir que otros sistemas accedan temporalmente a servicios locales. Túnel dinámico (SOCKS Proxy) Un túnel dinámico, o proxy SOCKS, es la opción más flexible. Crea un proxy SOCKS en tu máquina local, que puede ser utilizado por aplicaciones (navegadores web, clientes de chat) para enrutar su tráfico a través del servidor SSH. La sintaxis es -D [puerto_local]. Por ejemplo, para crear un proxy SOCKS en el puerto 9999 de tu máquina local: ssh -D 9999 admin@servidor.ejemplo.com Una vez establecido, puedes configurar tu navegador web para usar un proxy SOCKS localhost:9999. Todo el tráfico de tu navegador se enrutará a través de servidor.ejemplo.com, saliendo a internet desde la dirección IP de ese servidor. Esto es excelente para navegar de forma privada o para sortear restricciones geográficas. Transferencia segura de archivos: SCP y SFTP Además de proporcionar una terminal segura, SSH también incluye herramientas robustas para la transferencia segura de archivos. SCP (Secure Copy Protocol) y SFTP (SSH File Transfer Protocol) son las dos opciones principales, y ambas aprovechan la seguridad subyacente de SSH para cifrar el tráfico y autenticar las conexiones. Esto los convierte en alternativas mucho más seguras a FTP, que transmite datos en texto plano y carece de cifrado inherente. Para los administradores de sistemas, entender cuándo usar SCP y cuándo SFTP es clave para una gestión eficiente y segura de archivos en servidores remotos. scp: Copia segura de archivos SCP es una herramienta de línea de comandos diseñada para copiar archivos y directorios de forma segura entre hosts. Su sintaxis es muy similar a la del comando cp de Linux, pero con la capacidad de especificar hosts remotos. SCP es ideal para transferencias rápidas y no interactivas, especialmente para scripts o cuando se necesita copiar un conjunto específico de archivos. Copiar un archivo local a un servidor remoto: scp /ruta/local/archivo.txt usuario@host:/ruta/remota/ Copiar un archivo de un servidor remoto a tu máquina local: scp usuario@host:/ruta/remota/archivo.txt /ruta/local/ Copiar un directorio recursivamente: Usa la opción -r. scp -r /ruta/local/directorio/ usuario@host:/ruta/remota/ Especificar un puerto diferente: Usa la opción -P (nota la P mayúscula, a diferencia de ssh -p). scp -P 2222 /ruta/local/archivo.txt usuario@host:/ruta/remota/ SCP es rápido y eficiente, pero carece de características avanzadas de gestión de archivos como listado de directorios o reanudación de transferencias. sftp: Una interfaz interactiva SFTP ofrece una interfaz interactiva y más rica en funciones para la gestión de archivos remotos, similar a un cliente FTP, pero sobre SSH. Es útil cuando necesitas explorar directorios remotos, renombrar archivos, crear carpetas o realizar transferencias condicionales. Muchos clientes GUI como FileZilla también soportan SFTP. Para iniciar una sesión SFTP: sftp usuario@host Una vez conectado, verás un prompt sftp>. Aquí puedes usar comandos similares a los de un shell de Linux: ls: Listar archivos en el directorio remoto. pwd: Mostrar el directorio de trabajo remoto actual. lpwd: Mostrar el directorio de trabajo local actual. get archivo_remoto: Descargar un archivo del servidor remoto. put archivo_local: Subir un archivo al servidor remoto. mkdir nuevo_directorio: Crear un nuevo directorio remoto. rm archivo_remoto: Borrar un archivo remoto. help: Ver una lista de comandos disponibles. SFTP es más flexible para la gestión interactiva, pero puede ser ligeramente más lento que SCP para transferencias masivas de archivos pequeños debido a su sobrecarga de protocolo. Tabla: SCP vs. SFTP Característica SCP (Secure Copy Protocol) SFTP (SSH File Transfer Protocol) Base del Protocolo Utiliza el protocolo SCP, funciona sobre SSH. Es un subsistema de SSH, implementa su propio protocolo. Interfaz Línea de comandos no interactiva. Línea de comandos interactiva o GUI. Funcionalidad Copia de archivos y directorios. Copia, listado, renombrado, borrado, creación de directorios, etc. Velocidad Generalmente más rápido para transferencias simples. Puede ser ligeramente más lento debido a la sobrecarga del protocolo. Caso de Uso Scripts, transferencias de archivos directas, sin interactividad. Gestión de archivos interactiva, exploración de directorios, clientes GUI. Optimizando el flujo de trabajo con ~/.ssh/config y Fail2ban La eficiencia y la seguridad son dos caras de la misma moneda en la administración de sistemas. Mientras que la seguridad se refuerza con prácticas como la autenticación por claves y el endurecimiento de sshd_config, la eficiencia se logra optimizando las interacciones diarias. Los archivos de configuración del cliente SSH y herramientas de monitoreo como Fail2ban son esenciales para lograr un equilibrio. Un flujo de trabajo optimizado no solo ahorra tiempo, sino que también reduce la probabilidad de errores humanos, lo que indirectamente mejora la seguridad general. Estos conceptos clave elevan tu nivel de administración. Consejo: Revisa regularmente los registros de acceso a SSH (/var/log/auth.log o /var/log/secure) para detectar patrones sospechosos o intentos de intrusión, incluso con Fail2ban activo. Gestión de múltiples servidores con ~/.ssh/config El archivo ~/.ssh/config en tu máquina local es una herramienta increíblemente poderosa para simplificar y gestionar tus conexiones SSH a múltiples servidores. Te permite definir alias, especificar claves SSH, puertos, usuarios y otras opciones para cada host, eliminando la necesidad de recordar comandos largos o múltiples parámetros. Un ejemplo básico: Host mi_servidor_dev Hostname 192.168.1.100 User desarrollador Port 2222 IdentityFile ~/.ssh/id_ed25519_dev ForwardAgent yes Host produccion Hostname servidor.produccion.com User admin_prod Port 22 IdentityFile ~/.ssh/id_rsa_prod IdentitiesOnly yes Con esta configuración, puedes conectarte a tu servidor de desarrollo simplemente escribiendo ssh mi_servidor_dev y a producción con ssh produccion. SSH se encargará de usar el usuario, puerto y clave correctos automáticamente. La opción ForwardAgent yes es útil para reenvío de agente SSH, permitiéndote usar tu clave local para autenticarte desde el servidor remoto a un tercer servidor. Protección contra fuerza bruta con Fail2ban A pesar de todas las medidas de seguridad que implementes, tu servidor SSH seguirá siendo un objetivo para intentos de inicio de sesión de fuerza bruta, especialmente si mantienes el puerto 22 predeterminado o permites alguna forma de autenticación por contraseña. Aquí es donde entra Fail2ban. Fail2ban es una herramienta que escanea los archivos de registro del servidor (como /var/log/auth.log) en busca de patrones de intentos fallidos de inicio de sesión. Cuando detecta un número predefinido de intentos fallidos desde una dirección IP en un período de tiempo determinado, Fail2ban utiliza el firewall del sistema (como iptables) para bloquear temporalmente esa dirección IP. Su instalación es sencilla en la mayoría de las distribuciones Linux: sudo apt update sudo apt install fail2ban # Para Debian/Ubuntu sudo yum install fail2ban # Para CentOS/RHEL La configuración principal se encuentra en /etc/fail2ban/jail.conf, pero es mejor crear un archivo /etc/fail2ban/jail.local para tus personalizaciones y así evitar que se sobrescriban en futuras actualizaciones. Un ejemplo de configuración para SSH: [sshd] enabled = true port = ssh,2222 # Si cambiaste el puerto, inclúyelo aquí filter = sshd logpath = /var/log/auth.log maxretry = 3 # Número máximo de intentos antes del baneo bantime = 1h # Tiempo de baneo (1 hora) findtime = 10m # Periodo para contar los intentos fallidos (10 minutos) Fail2ban es una defensa proactiva excelente, aunque no debe ser la única. Complementa perfectamente las configuraciones de seguridad de sshd_config y las claves SSH, creando una infraestructura mucho más resistente a los ataques. ¿Preparado para ser un experto en Linux?Descubre nuestro curso de Administración de Servidores Linux y lleva tus habilidades al siguiente nivel. Aprenderás a configurar, asegurar y mantener cualquier servidor Linux con confianza y eficiencia. ¡Tu carrera te lo agradecerá! Ver Curso Infografía: guía visual con conceptos y datos clave sobre ssh: qué es, cómo configurar y comandos esenciales [guía 2026] Infografía resumen Preguntas Frecuentes ¿Es SSH realmente seguro?Sí, SSH es intrínsecamente muy seguro debido a su fuerte cifrado y mecanismos de autenticación. Sin embargo, su seguridad final depende de cómo se configure y de las prácticas de seguridad del usuario, como el uso de claves robustas y contraseñas fuertes para las claves privadas. ¿Qué es una clave pública y una clave privada en SSH?Una clave pública es un componente del par de claves que se puede compartir libremente y se coloca en el servidor. La clave privada es el componente secreto que se mantiene en tu máquina local y se utiliza para demostrar tu identidad ante el servidor. Solo la clave privada correspondiente puede "desbloquear" el acceso que la clave pública permite. ¿Puedo cambiar el puerto SSH predeterminado (22)?Sí, puedes y es una práctica de seguridad recomendada. Cambiar el puerto 22 a uno no estándar reduce la exposición a escaneos automáticos y ataques de bots. Recuerda actualizar tu firewall y especificar el nuevo puerto con la opción -p al conectarte. ¿Cuál es la diferencia entre SCP y SFTP?SCP es una herramienta de línea de comandos para la copia rápida y no interactiva de archivos y directorios. SFTP es un protocolo de transferencia de archivos interactivo que ofrece una gama más amplia de comandos de gestión de archivos, similar a FTP pero sobre SSH, y es más adecuado para exploraciones de directorios y operaciones interactivas. ¿Qué hace Fail2ban por SSH?Fail2ban protege tu servidor SSH contra ataques de fuerza bruta. Escanea los registros de autenticación y bloquea automáticamente las direcciones IP que intentan repetidamente iniciar sesión sin éxito, utilizando el firewall del sistema.