Contenido del curso
Contenido del curso
Juan Manuel Hincapié
Diego Fernando Ramos Aguirre
Patricio Sánchez Fernández
Tatiana Salazar
Enrique Alexis Lopez Araujo
JESUS SONCO CABEZAS
Patricio Sánchez Fernández
Mario Alexander Vargas Celis
Jeisson Espinosa
Jhon Freddy Tavera Blandon
Deyvid Antonio Arauz Cruz
Kevin Alexis Rodríguez Rincón
Tulio Junior Rangel Nuñez
Patricio Sánchez Fernández
Ixcoatl Francisco Pérez
Ixcoatl Francisco Pérez
Ixcoatl Francisco Pérez
Samil Sanchez
Uno de los protocolos más usados para conectarnos a nuestras instancias de manera remota. Protocolo de administración remota que nos permite conectarnos a los usuarios y controlar remotamente los servidores no sólo en AWS.
Requerimientos:
Cuando las llaves hacen match me puedo conectar al servidor desde mi computadora personal de manera remota
OS
El servicio de AWS se llama Instance Connect
Problemas comunes
Gracias por el aporte.
Excelente Juan, muy buen resumen.
SSH Es un protocolo de administracion remota que permite conectarnos a los usuarios y controlar remotamente los servidores de aws.
De hecho es uno de los protocolos mas comunes! Para conectarnos a las instancias
SSH es un Protocolo de Administración Remota que nos permite conectarnos a EC2. SSH nos permite conectarnos a los usuarios y controlar remotamente nuestros servidores de cualquier parte del mundo y de cualquier proveedor.
++Funcionamiento Básico de SHH:++ Necesito 2 llaves, una Privada y otra Publica, y cuando la llave Privada de mi computadora hace MATCH con la llave privada del servidor, podremos conectarnos con el protocolo SSH como una sola llave.
++¿Desde donde?++ SHH viene instalado por defecto en Linux, Mac y en Windows a partir de Windows 10 en adelante con PowerShell. Desde "AWS Instance Connect" puedes conectarte y funciona con todos los Sistema Operativos.
++Resolver problemas de SSH++ Hay un tiempo de espera de conexión y esta relacionado con el grupo de seguridad y su mala configuración ó creación. Conexión rechazada por Firewall. Revisa el Firewall ó cortafuegos de tu computadora. Conexión rechazada por Instancia. Revisa que la instancia este adjuntado correctamente al grupo de seguridad. Permiso denegado (clave publica, gssapi-keyex, gssapi-with-mic) y esto es por que no utilizamos correctamente las llaves.
Gracias Jesús...
🔹 ¿Qué es SSH?
SSH (Secure Shell) es un protocolo de red que permite la comunicación segura entre dos dispositivos a través de una red no confiable, como Internet. Se usa principalmente para administrar servidores y computadoras de forma remota mediante una conexión encriptada.
🔑 Características principales de SSH
✅ Cifrado seguro: Protege la comunicación para evitar ataques como "Man-in-the-Middle".
✅ Autenticación con claves: Permite iniciar sesión sin contraseña mediante claves SSH.
✅ Túneles SSH: Puedes redirigir tráfico de otras aplicaciones de forma segura.
✅ Transferencia de archivos: Usa comandos como scp o sftp para enviar archivos de manera segura.
📌 Cómo conectar a un servidor con SSH
Si tienes una instancia en AWS EC2 o cualquier servidor remoto, puedes acceder con:
🔹 Desde Linux/macOS:
ssh -i "tu-clave.pem" usuario@IP-del-servidor
Ejemplo para AWS:
ssh -i "mi-clave-aws.pem" ec2-user@54.123.45.67
🔹 Desde Windows:
ssh.🔐 Autenticación con Claves SSH
En lugar de usar contraseñas, puedes autenticarte con claves públicas y privadas: 1️⃣ Generar claves SSH (en tu máquina local):
ssh-keygen -t rsa -b 4096 -C "tu-email@example.com"
2️⃣ Copiar la clave pública al servidor:
ssh-copy-id usuario@IP-del-servidor
3️⃣ Conectar sin contraseña:
ssh usuario@IP-del-servidor
📌 Comandos básicos en SSH
ComandoDescripciónssh usuario@servidorConectarse a un servidor remoto.exitCerrar la sesión SSH.scp archivo.txt usuario@servidor:/ruta/Enviar un archivo con SSH.sftp usuario@servidorTransferir archivos con SFTP.
🚀 Resumen
🔹 SSH permite acceso remoto seguro a servidores. 🔹 Usa claves SSH para evitar contraseñas. 🔹 Puedes transferir archivos y ejecutar comandos de forma segura.
📌 ¡Esencial para administrar servidores en la nube como AWS, GCP y Azure! 💻🔒
Información resumida de esta clase #EstudiantesDePlatzi
SSH es un protocolo que nos permite conectarnos a nuestras maquinas EC2, esto me permite controlar remotamente los servidores
Para conectarnos necesitamos una llave dividida en dos: Una llave publica y una llave privada
SHH ya viene instalado dentro de nuestra terminal
En AWS existe instant conect para conectarnos y funciona para todos los sistemas operativos
Existe un tiempo de espera de conexión y esta muy relacionado con el grupo de seguridad
Importante saber configurar bien los grupos de seguridad
Debemos revisar nuestros Firewall, para estar seguro que no nos estan presentando problemas de conexión
Puede que la instancia nos genera una conexión rechazada, estos problemas parecen ser muy comunes
Podemos tener un permiso denegado y esto puede ser por que no utilizamos correctamente las llaves
Características de SSH
Componentes de SSH
ssh en sistemas Unix/Linux y programas como PuTTY en Windows.Cómo Funciona SSH
El funcionamiento básico de SSH se puede dividir en los siguientes pasos:
## ¿Qué es SSH?
SSH (Secure Shell) es un protocolo de administración remota que permite la conexión segura entre dos dispositivos, como tu computadora y un servidor, para gestionar y controlar remotamente servidores de cualquier parte del mundo. SSH es ampliamente utilizado para acceder y controlar instancias EC2 en AWS y otros proveedores de servicios en la nube.
### Características de SSH
1. **Seguridad**: Utiliza criptografía para proteger la conexión entre el cliente y el servidor, asegurando que los datos transmitidos estén encriptados.
2. **Autenticación**: Soporta varios métodos de autenticación, como contraseñas, claves públicas y autenticación basada en certificados.
3. **Integridad de Datos**: Garantiza que los datos transmitidos no se modifiquen ni se corrompan durante la transmisión.
4. **Redirección de Puertos**: Permite la redirección de puertos, creando túneles seguros para otros protocolos (útil para acceder a servicios de forma segura).
5. **Acceso Remoto**: Facilita la ejecución de comandos en un servidor remoto a través de la terminal.
6. **Transferencia Segura de Archivos**: Utiliza protocolos como SCP (Secure Copy) y SFTP (SSH File Transfer Protocol) para transferencias seguras de archivos entre equipos.
### Componentes de SSH
1. **Cliente SSH**: La aplicación que se ejecuta en el equipo del usuario para conectarse a un servidor de forma segura. Ejemplos comunes son el comando ssh en sistemas Unix/Linux y programas como PuTTY en Windows.
2. **Servidor SSH**: El software que se ejecuta en la máquina remota (por ejemplo, OpenSSH) que escucha las conexiones entrantes desde clientes SSH.
### Cómo Funciona SSH
El funcionamiento de SSH sigue los siguientes pasos básicos:
1. **Iniciación de Conexión**: El cliente SSH inicia una conexión con el servidor SSH en la máquina remota, normalmente a través del puerto 22.
2. **Intercambio de Claves**: Se establece una conexión segura mediante el intercambio de claves públicas y privadas. Ambas partes generan una clave compartida para cifrar la sesión.
3. **Autenticación del Cliente**: El cliente se autentica en el servidor SSH usando contraseñas, claves públicas o certificados.
4. **Inicio de Sesión**: Una vez autenticado, el cliente puede ejecutar comandos de forma remota y realizar tareas en el servidor.
### Requerimientos para Usar SSH
- **Llave Pública y Llave Privada**: SSH utiliza criptografía de clave pública para autenticar las conexiones. La llave privada permanece en el equipo del usuario, mientras que la llave pública se almacena en el servidor. Cuando ambas coinciden, se permite la conexión.
- **Sistema Operativo**: SSH viene preinstalado en sistemas Linux y macOS. En Windows, SSH está disponible desde la versión 10 en adelante a través de PowerShell, y también se puede usar herramientas como PuTTY.
### Problemas Comunes con SSH
1. **Tiempos de Espera de Conexión**: Esto puede estar relacionado con configuraciones incorrectas de los grupos de seguridad en AWS. Asegúrate de que los grupos de seguridad permitan el tráfico en el puerto 22 (por defecto para SSH).
2. **Problemas de Firewall**: Si tu red o firewall local bloquea las conexiones SSH, no podrás acceder al servidor.
3. **Conexión Rechazada**: Puede deberse a configuraciones incorrectas en la instancia o a una llave privada incorrecta. Verifica que la instancia esté correctamente asignada a un grupo de seguridad y que estés utilizando la llave adecuada.
4. **Permiso Denegado**: Este error puede ocurrir cuando intentas conectarte utilizando una clave pública que no coincide con la clave privada configurada en el servidor. Asegúrate de utilizar las llaves correctas durante la autenticación.
### Buenas Prácticas con SSH en AWS
1. **Reutilizar Llaves Existentes**: Para evitar la confusión de múltiples llaves, es recomendable reutilizar llaves SSH ya creadas cuando se configuran nuevas instancias en AWS. Esto facilita la gestión y evita errores al intentar acceder a instancias con llaves incorrectas.
2. **Uso de AWS Instance Connect**: AWS ofrece **Instance Connect** como una opción para conectarse a instancias EC2 de forma sencilla, sin necesidad de utilizar llaves SSH directamente.
3. **Configuración de Grupos de Seguridad**: Asegúrate de que el grupo de seguridad asociado a tu instancia EC2 esté correctamente configurado para permitir el tráfico en el puerto 22 y otras reglas que tu aplicación pueda necesitar.
### Resumen:
- SSH es un protocolo que te permite conectarte de forma segura a tus instancias EC2 o servidores remotos.
- Utiliza un sistema de clave pública/privada para autenticar conexiones y garantizar la seguridad.
- SSH viene preinstalado en Linux, macOS y Windows 10 en adelante.
- Los errores comunes incluyen tiempos de espera de conexión y problemas con llaves incorrectas o configuraciones de seguridad deficientes.
- Es fundamental configurar bien los grupos de seguridad y verificar que el firewall no bloquee las conexiones.
Arriba PuTTy
Tal como lo dice el profesor en la clase, uno de los problemas que se pueden presentar es que la instancia nos rechace la conexión porque estamos intentando acceder a ella con la llave de otra instancia, esto sucede porque creamos varias instancias y a cada una le creamos una llave nueva; en estos momentos como a penas estamos en etapa de aprendizaje y no manejando equipos, la mejor forma de evitar esto es que al momento de crear una nueva instancia no le creemos una llave nueva sino que trabajemos con una ya existente (de las que ya tenemos) y así nos evitamos tener que identificar para qué llave es cada instancia
Buen aporte, Tulio.
Excelente explicación, cada día aprendiendo mas y mas .