Esta guía describe los pasos que debe seguir un usuario para conectarse, de forma segura, a una instancia Windows específica en AWS usando Session Manager como túnel y Escritorio Remoto (RDP) hacia localhost.
1. Prerrequisitos
Sistema operativo:
Windows 10/11 con cliente de Escritorio Remoto (
mstsc) instalado (viene por defecto).
Datos que te proporcionará GUITMX:
Access Key ID de tu usuario IAM.
Secret Access Key de tu usuario IAM.
ID de la instancia.
Región de la instancia.
IMPORTANTE:
⚠️ El Access Key y el Secret Access Key son rotados de manera automática cada 30 días.
⚠️ Nunca guardes tus llaves en un documento ni las compartas por correo/chat en
texto plano. Úsalas solo para pegarlas en la terminal cuando las necesites.
2. Instalación del AWS CLI
Abre tu navegador y entra a la documentación oficial de instalación del AWS CLI:
Descarga el instalador más reciente para Windows (AWS CLI versión 2).
Ejecuta el instalador (
.msi) y sigue el asistente.Una vez instalado, abre PowerShell y verifica:
aws --version
Deberías ver algo como:
aws-cli/2.x.x ...
3. Instalación del Session Manager Plugin
Abre tu navegador y entra a:
Descarga la versión más reciente del Session Manager plugin para Windows.
Ejecuta el instalador (
.msi) y sigue el asistente.Cierra y vuelve a abrir PowerShell.
4. Configurar credenciales con variables de entorno (solo en esta sesión)
En lugar de usar aws configure, usarás variables de entorno en la sesión actual de PowerShell. Así buscamos evitar que las credenciales queden guardadas en el equipo y reducir el riesgo de uso indebido por otras personas que lo compartan.
Abre PowerShell.
Ejecuta los siguientes comandos, reemplazando los valores por tus credenciales reales:
$Env:AWS_ACCESS_KEY_ID = "TU_ACCESS_KEY_ID"
$Env:AWS_SECRET_ACCESS_KEY = "TU_SECRET_ACCESS_KEY"
$Env:AWS_REGION = "TU_REGION"
# Si usas credenciales temporales de sesión, agrega también: # $Env:AWS_SESSION_TOKEN = "TU_SESSION_TOKEN"
Notas:
Estas variables solo viven mientras la ventana de PowerShell esté abierta.
Al cerrar PowerShell, las credenciales dejan de estar disponibles en esa máquina.
5. Crear el túnel con AWS Systems Manager
Ahora vas a crear un túnel desde tu máquina a la instancia, usando Session Manager de AWS.
En la misma ventana de PowerShell, ejecuta:
aws ssm start-session --region <tu_region> --target <tu_instance_id> --document-name AWS-StartPortForwardingSession --parameters "portNumber=['3389'],localPortNumber=['13389']"
Si todo está correcto:
El comando no mostrará error.
La sesión quedará “abierta” y la terminal parecerá bloqueada/activa (es normal: el túnel está activo).
NOTAS:
No cierres esta ventana de PowerShell mientras estés conectado por Escritorio Remoto. Si la cierras, el túnel se cierra y perderás la conexión RDP.
Si deseas usar un puerto distinto a 13389 también puedes hacerlo cambiando el comando.
6. Conectarse por Escritorio Remoto
Con el túnel activo, el puerto 13389 de tu máquina local está siendo redirigido al puerto 3389 (RDP) de la instancia en AWS.
6.1 Usando la interfaz gráfica (mstsc)
Presiona
Win + R.Escribe:
mstsc
y pulsa Enter.
En el campo Equipo / Computer, escribe:
localhost:13389
Haz clic en Conectar.
Cuando lo pida, introduce las credenciales de Windows de la instancia (usuario y contraseña que te haya dado el administrador).
6.2 Comando directo desde PowerShell o CMD
También puedes lanzar el Escritorio Remoto directamente con un comando:
mstsc /v:localhost:13389
7. Cerrar la sesión de forma correcta
Al terminar tu trabajo, dentro del Escritorio Remoto:
Cierra la sesión de Windows normalmente (cerrar sesión o bloquear, según tus políticas).
En la ventana de PowerShell donde corre el comando
aws ssm start-session:Presiona
Ctrl + Cpara terminar la sesión de SSM y cerrar el túnel.
Al hacer esto:
La sesión de port forwarding se cierra.
No queda ninguna sesión SSM abierta consumiendo recursos.
8. Buenas prácticas de seguridad
Nunca guardes tus Access Key / Secret Key en:
Documentos de Word,
archivos de texto en tu PC,
correos, chats, etc.
Usa siempre variables de entorno o un gestor de contraseñas.
Si sospechas que tus llaves fueron expuestas:
Pide a GUITMX que las desactive y genere unas nuevas.
Cierra la ventana de PowerShell al terminar tu trabajo para limpiar el entorno.
Con esto, cualquier usuario que cuente con:
El AWS CLI,
El plugin de Session Manager,
Las credenciales correctas,
Podrá conectarse de forma segura a una instancia en AWS usando RDP a través de SSM, sin exponer el puerto 3389 a Internet.
