SSH en instancia EC2 con AWS EC2 Instance Connect – 2xsoftware

AWS EC2 Instance Connect es un servicio que le permite conectarse de forma segura a sus instancias EC2 mediante Secure Shell (SSH) sin necesidad de utilizar un host bastión o crear y administrar claves SSH. Con EC2 Instance Connect, puede establecer rápidamente conexiones SSH a sus instancias EC2 mediante la consola EC2 o la CLI de AWS.

EC2 Instance Connect utiliza políticas de AWS Identity and Access Management (IAM) para controlar el acceso a sus instancias EC2. Cuando usa EC2 Instance Connect a una instancia, usa sus credenciales de usuario o rol de IAM para autenticarse con AWS, y luego AWS genera una clave pública SSH de un solo uso que se envía a la instancia. La clave pública se usa para autenticar su sesión SSH, que luego se elimina cuando finaliza la sesión.

EC2 Instance Connect es una alternativa más segura al acceso SSH tradicional porque elimina la necesidad de administrar y distribuir claves SSH, lo que puede ser un riesgo para la seguridad si no se administra correctamente. Además, dado que EC2 Instance Connect no requiere un host bastión, simplifica su arquitectura y reduce el costo de administrar sus instancias EC2.

En este tutorial, analizaremos la configuración de EC2 Instance Connect en sus máquinas virtuales EC2 y probaremos la conexión mediante la consola web y la CLI.

Requisitos

  • Debe tener una cuenta de AWS activa. El nivel libre cuenta es suficiente para este tutorial.
  • Una instancia EC2 a la que puede acceder. Este ejemplo utilizará dos instancias EC2 para la demostración: amazonas linux 2 y ubuntu.

Instalación de EC2 Instance Connect en una instancia

Nota. Puede omitir este paso si su instancia EC2 ejecuta los siguientes sistemas operativos:

  • Amazon Linux 2 2.0.20190618 o posterior

  • Ubuntu 20.04 o posterior

Cuando lanza una instancia por primera vez, crea una nueva clave SSH o usa una existente. Esta clave SSH es necesaria para conectarse a su instancia EC2 mediante un cliente SSH para que pueda instalar el paquete de conexión de la instancia EC2.

Primero, acceda a su instancia EC2 mediante SSH utilizando su cliente SSH preferido. En este ejemplo, estoy usando el comando SSH integrado.

ssh -i aws_private_key.pem  
[email protected]

Instancia de Ubuntu

Ejecute los siguientes comandos para instalar EC2 Instance Connect en una instancia de Ubuntu.

Para instalar EC2 Instance Connect en una instancia de Ubuntu.

# Update the local package index 
sudo apt-get update 
# Install the ec2-instance-connect package 
sudo apt-get install -y ec2-instance-connect

El paquete instala cuatro scripts en /usr/share/ec2-instance-connect/.

conexión de instancia ec2

Confirme que EC2 Instance Connect está instalado.

sudo cat /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf

ssh en ec2

La presencia de esta línea confirma que EC2 Instance Connect está correctamente instalado.

ExecStart=/usr/sbin/sshd -D -o "AuthorizedKeysCommand /usr/share/ec2-instance-connect/eic_run_authorized_keys %%u %%f" -o "AuthorizedKeysCommandUser ec2-instance-connect" $SSHD_OPTS

Instancia de Amazon Linux 2

Ejecute el siguiente comando para instalar EC2 Instance Connect en una instancia de Amazon Linux.

sudo yum install ec2-instance-connect

ssh en aws ec2

El paquete instala tres scripts en /opt/aws/bin/.

aws ssh en ec2

Confirme el archivo /etc/ssh/sshd_config.

sudo cat /etc/ssh/sshd_config

instalar instancia ec2 conectar

Si las líneas siguientes aparecen en /etc/ssh/sshd_configEC2 Instance Connect está instalado.

AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f
AuthorizedKeysCommandUser ec2-instance-connect

Conéctese a la instancia EC2 Conéctese desde la consola EC2 (web)

Después de instalar EC2 Instance Connect en la instancia, ahora puede conectarse a ella. Una forma de SSH en la instancia de AWS EC2 es desde la consola de EC2.

Inicie sesión en su Consola EC2 de AWS y navegue a las instancias EC2. Seleccione la instancia a la que desea conectarse y haga clic en Conectar.

ssh en la instancia de aws

Sobre el Conectarse a la instancia página, seleccione la Conexión de instancia EC2 pestaña y haga clic en Conectar.

ssh en ventanas de instancia ec2

El CloudShell La instancia se conecta automáticamente a su instancia EC2 sin que ingrese ninguna clave o credencial SSH.

ssh en una instancia ec2 privada

Conéctese a la instancia EC2 Conéctese desde la interfaz de línea de comandos (CLI)

El cliente SSH basado en web en la consola EC2 puede ser suficiente para algunos administradores. Pero para otros, un cliente local seguiría siendo la herramienta de facto para la gestión remota. En este caso, puede instalar EC2 Instance Connect CLI en su computadora.

Requisitos de la CLI de EC2 Instance Connect

  • El puerto SSH de la instancia EC2 de destino debe estar abierto a Internet.
  • Para instalar, su computadora debe tener Python y PIP instalados.
  • Para usarlo, primero debe instalar y configurar la CLI de AWS.

Instale la CLI de EC2 Instance Connect

Abra una sesión de terminal en su computadora y ejecute el siguiente comando para descargar el archivo CLI de EC2 Instance Connect.

aws s3api get-object  
--bucket ec2-instance-connect  
--key cli/ec2instanceconnectcli-latest.tar.gz  
ec2instanceconnectcli-latest.tar.gz

ssh en aws

Una vez el ec2instanceconnectcli-latest.tar.gz se descarga el archivo, instale el paquete usando el siguiente comando.

sudo pip install ec2instanceconnectcli-latest.tar.gz

ssh en una instancia ec2

EC2 Instance Connect ya está instalado y el mssh El comando ya está disponible. Este comando le permite conectarse a la instancia EC2 utilizando los perfiles configurados en AWS CLI.

Para usar este comando, la sintaxis es:

# For Ubuntu Instance 
mssh ubuntu@{instance-id}

ssh en amazon ec2

# For Amazon Linux 2 Instance 
mssh ec2-user@{instance-id}

ssh en la instancia aws ec2

Conclusión

En conclusión, AWS EC2 Instance Connect proporciona una forma cómoda y segura de acceder a sus instancias EC2 mediante SSH. Al aprovechar el sistema AWS Identity and Access Management (IAM), puede otorgar permisos granulares a usuarios y grupos para conectarse a sus instancias. Además, EC2 Instance Connect elimina la necesidad de administrar y distribuir claves SSH, lo que facilita el mantenimiento del control de acceso y la auditabilidad.

Con EC2 Instance Connect, puede usar su cliente SSH existente para conectarse a sus instancias sin tener que configurar un host bastión ni exponer los puertos SSH a la Internet pública. Esto reduce la superficie de ataque de sus instancias y mejora la postura de seguridad de su infraestructura.

AWS EC2 Instance Connect es una poderosa herramienta que simplifica y agiliza la administración de acceso SSH para sus instancias EC2. Siguiendo los pasos descritos en esta publicación de blog, puede comenzar con EC2 Instance Connect y aprovechar sus muchos beneficios.

Valora este artculo post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *