Guía completa para crear claves SSH para servidores de Amazon y centros de datos en la nube
En este artículo, le guiaremos por los pasos para crear claves SSH para un acceso seguro a servidores en la nube y centros de datos. Aprenda a crear y usar estas claves en Windows y Linux.

Guía completa para crear claves SSH para servidores de Amazon y centros de datos en la nube

Este artículo le enseñará a generar claves SSH de forma segura y profesional para acceder de forma segura a los servidores en la nube y centros de datos de Amazon. Aprenderá métodos prácticos en Windows y Linux, así como las mejores prácticas para la seguridad y la gestión de servidores.
0 acciones
0
0
0
0

¿Por qué debería crear y utilizar una clave SSH?

En entornos de nube y centros de datos internacionales, el inicio de sesión seguro y automatizado a los servidores es una piedra angular de cada operación de DevOps, alojamiento web, renderizado, IA y gestión de bases de datos. Claves SSH Son un método estándar, seguro y programable para la autenticación y reemplazan contraseñas débiles.

El uso de claves públicas y privadas reduce el riesgo de ataques de fuerza bruta y facilita la automatización y la implementación de controles de acceso más detallados.

Prerrequisitos y conceptos básicos

Clave privada: Su archivo confidencial que no debe ser divulgado.

Clave pública: Un archivo que se coloca en el servidor (authorized_keys).

Algoritmos comunes: ed25519 (Recomendado), RSA 4096.

Rutas: ~/.ssh/id_* En Linux/WSL y C:\Usuarios\ \.ssh En Windows.

Accesos: chmod 700 ~/.ssh y chmod 600 Para la clave privada.

Creación de una clave SSH en Linux/macOS/WSL

Se recomienda ed25519 Úselo a menos que necesite RSA por razones de compatibilidad.

Pasos para generar y administrar claves en Shell

ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519 -o -a 100
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/id_rsa -o -a 100
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
ls -la ~/.ssh
cat ~/.ssh/id_ed25519.pub
ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 [email protected]
chmod 400 my-aws-key.pem
ssh -i my-aws-key.pem [email protected]

Nota: En AWS, la clave suele elegirse o importarse al iniciar una instancia. Si tiene un archivo PEM, úselo como identidad.

Creación de una clave SSH en Windows (PowerShell / Windows OpenSSH)

Windows 10/11 tiene un cliente OpenSSH; también puede usar PuTTY/Puttygen para conectarse con PuTTY.

Comandos de PowerShell

ssh-keygen -t ed25519 -C "[email protected]" -f $env:USERPROFILE\.ssh\id_ed25519
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Ruta del archivo:

  • C:\Usuarios\ \.ssh\id_ed25519

  • C:\Usuarios\ \.ssh\id_ed25519.pub

Convierta PEM a PPK con PuTTYgen

Pasos generales:

  • Abra PuTTYgen.

  • Archivo > Cargar clave privada y archivo mi-clave-aws.pem Cargar (mostrar todos los archivos).

  • Guardar clave privada como mi-clave-aws.ppk Y úselo en PuTTY (Conexión > SSH > Autenticación > Archivo de clave privada).

Importación de claves públicas en AWS EC2 y otros paneles en la nube

Consola de AWS: EC2 > Pares de claves > Importar par de claves. Nombre y contenido del archivo .pub Ingresar.

Al crear una instancia, puede seleccionar un par de claves existente. Otros centros de datos suelen tener la opción "Cargar/Importar clave SSH" en el panel.

Ejemplo de cloud-init para agregar una clave pública

#cloud-config
ssh_authorized_keys:
  - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... [email protected]

Agregar clave a GitLab/GitHub y usar en CI

Para GitLab: Configuración de usuario > Claves SSH Pegue la clave pública. Vaya al proyecto para implementar claves.

En CI/CD, cargue la clave privada como una variable protegida y úsela en el trabajo creando un archivo con acceso restringido (chmod 600).

Configuración del servidor y de seguridad después de la instalación de la clave

Paso 1: Establecer permisos.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_ed25519

Luego, la configuración /etc/ssh/sshd_config Comprobar y actualizar:

  • Número de autenticación de contraseña

  • No se permite el inicio de sesión raíz

  • Autenticación de clave pública sí

  • Puede Permitir usuarios Establecer para restringir usuarios.

  • No usar DNS Y cambia el puerto si lo deseas.

sudo systemctl restart sshd

Cortafuegos:

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw allow 2222/tcp

Utilice Fail2ban o CrowdSec para evitar la fuerza bruta:

sudo apt install fail2ban

Para servidores sensibles, utilice bastión/host de salto para restringir el acceso directo a redes privadas.

Consejos prácticos para diferentes aplicaciones

Para comerciantes (VPS para comercio)

Elija una ubicación: Cerca de servidores de brókeres o exchanges para una latencia mínima. Contamos con más de 85 ubicaciones globales que pueden proporcionar una ubicación cercana a su mercado objetivo.

Se recomienda restringir SSH solo a IP estática o mediante VPN:

sudo ufw allow from 203.0.113.5 to any port 22

Para jugadores (VPS para juegos)

Para servidores de juegos, utilice ubicaciones con un peering sólido y una CDN/BGP adecuada. Use claves SSH en lugar de contraseñas y un host bastión para reducir la superficie de ataque.

Para IA y renderizado (GPU Cloud)

Utilice claves seguras (ed25519/RSA4096) para conectarse a servidores GPU y asignar un usuario y una clave separados para cada proyecto.

rsync -avz -e "ssh -i ~/.ssh/id_ed25519 -p 2222" /local/path user@remote:/remote/path

Para alojamiento y alojamiento de GitLab

Utilice una clave específica del servidor (clave de implementación) con acceso limitado para acceder automáticamente al servidor a los repositorios privados.

Gestión de claves, rotación y estándares

  • Gire las llaves periódicamente (por ejemplo, cada 6 a 12 meses).

  • Retire las llaves viejas de claves autorizadas Y eliminar el panel de nubes.

  • Utilice la frase de contraseña para la clave privada y guárdela en un administrador de contraseñas.

  • En las organizaciones, utilice certificados SSH y CA para la gestión centralizada (OpenSSH CA).

Consejos adicionales y solución de problemas

Cuando nos enfrentamos a un error Permiso denegado (clave pública) Compruebe que la clave pública esté en ~/.ssh/claves_autorizadas Existe y los permisos son correctos.

sudo journalctl -u sshd -e
sudo tail -f /var/log/auth.log

Si está utilizando ProxyJump o Jump Host, el archivo de configuración es útil:

Host bastion
  HostName bastion.example.com
  User ubuntu
  IdentityFile ~/.ssh/id_ed25519

Host internal-*
  ProxyJump bastion
  User deploy
  IdentityFile ~/.ssh/id_deploy

De Intervalo de vida del servidor y Conteo máximo de servidores vivos Úselo en la configuración ssh para evitar la finalización repentina de sesiones.

Recomendaciones finales de seguridad

Restringir el acceso SSH a las IP, utilizar una VPN o red privada y utilizar servicios anti-DDoS para servidores sensibles son otros puntos importantes.

Resumen y lista de verificación sugerida

  • Creación de claves: ed25519 con frase de contraseña

  • Protección de archivos: chmod 700 ~/.ssh && chmod 600 clave privada

  • Activación del agente SSH y adición de claves

  • Cargue la clave pública en el panel o centro de datos de AWS o utilice cloud-init

  • Desactivación de la autenticación con contraseña y PermitRootLogin

  • Cortafuegos/UFW y Fail2ban o CrowdSec

  • Uso de bastión, restricción de IP y VPN para acceso sensible

  • Duplicación y rotación periódica de llaves

También te puede gustar
5 consejos efectivos para proteger el servidor SSH en Ubuntu

5 consejos efectivos para proteger el servidor SSH en Ubuntu

Este artículo explorará 5 maneras efectivas de fortalecer su servidor SSH en Ubuntu. Al implementar estos consejos, puede aumentar la seguridad de sus servidores y evitar accesos no deseados. Estas incluyen la autenticación con claves SSH, la restricción del acceso y el uso de herramientas de protección como Fail2Ban.
API de Amazon Web Services

API y servicios de Amazon (AWS): Todo lo que necesitas saber

En el mundo actual, donde la tecnología de la información crece a pasos agigantados, el uso de la infraestructura en la nube se ha convertido en una necesidad fundamental para las empresas. Amazon Web Services, o AWS, es uno de los proveedores de servicios en la nube más grandes y potentes del mundo. En este artículo, explicaremos qué es una API, su función en AWS y los servicios más importantes de Amazon.
Amazon AWS Lambda

AWS Lambda: Computación sin servidor

En el mundo actual, donde la velocidad y la escalabilidad son primordiales, los servicios sin servidor desempeñan un papel crucial en la evolución de la arquitectura de software. AWS Lambda es uno de los servicios más importantes de Amazon en este ámbito, ya que permite a los desarrolladores ejecutar su código sin administrar servidores. Con Lambda, ya no es necesario configurar, dar soporte ni mantener servidores; basta con escribir el código y Amazon se encarga del resto.
Almacenamiento en la nube Amazon S3

¿Qué es Amazon S3? Un análisis experto del servicio de almacenamiento en la nube de Amazon.

En el mundo tecnológico actual, se generan y transfieren enormes cantidades de datos constantemente. Empresas, desarrolladores y usuarios necesitan una plataforma fiable, escalable y siempre disponible. En este sentido, Amazon S3 (Simple Storage Service) es un popular servicio de AWS diseñado para simplificar y hacer más segura la gestión y el almacenamiento de datos.