Conéctate de forma segura a una instancia S2 desde Linux en minutos. Aquí aprenderás a identificar la IP en el dashboard de S2, preparar tu llave y ejecutar secure shell con el usuario correcto en un entorno Parrot orientado a seguridad.
¿Cómo conectarte a una instancia S2 en Linux con secure shell?
Para entrar a tu máquina virtual, el flujo clave es: obtener la IP pública, abrir la terminal, ubicar tu llave y correr el comando de SSH. Al primer acceso, acepta la advertencia y listo.
¿Qué pasos sigues desde el dashboard de S2?
Abre el dashboard de S2 y ve la lista de instancias.
Entra al detalle de la instancia que usarás.
Nota que puedes hacer resize si lo necesitas.
Copia la IP pública al clipboard.
¿Qué comando ejecutas en la terminal?
Abre la terminal desde el icono o el menú Aplicaciones.
Ubica tu llave descargada, por ejemplo en Downloads.
Ejecuta SSH usando la llave y el usuario correctos.
Ejemplo:
ssh -i ruta/a/tu_llave.pemS2-user@IP
En la primera conexión, el sistema avisará que es una nueva IP: acepta para continuar.
Verás que entras a la máquina virtual como S2-user.
¿Qué requisitos previos debes verificar?
Antes de conectar, asegúrate de tener la llave y saber su ubicación, además de identificar el usuario del sistema operativo y la IP pública.
¿Dónde está tu llave .pem?
Confirma la carpeta donde guardaste la llave, por ejemplo Downloads.
Ten a mano el nombre exacto del archivo.
¿Qué ocurre en la primera conexión?
Aparece un aviso de seguridad por ser un host nuevo.
Acepta el aviso para que se añada y puedas continuar.
¿Qué habilidades y conceptos refuerzas?
Con este proceso practicas autenticación por llave y uso básico de Linux para administración remota de servidores.
¿Qué palabras clave necesitas dominar?
SSH: conexión remota cifrada mediante secure shell.
Llave privada (.pem): autenticación con la opción -i.
Usuario S2-user: cuenta del sistema operativo de Amazon para ingresar.
Dirección IP pública: se obtiene del dashboard y se copia al clipboard.
Máquina virtual: confirmas acceso remoto al prompt del servidor.
Elevar privilegios a root: posible una vez dentro si lo requieres.
Parrot: distribución enfocada a seguridad, usada en la demostración.
¿Qué podrás hacer luego de conectarte?
Administrar la instancia de forma remota.
Ejecutar comandos como S2-user y, si procede, elevar privilegios.
Verificar que es la misma instancia que ves en el panel de S2.
Nota: en la siguiente clase se repite el proceso conectando desde una Mac.
¿Tienes dudas sobre el comando o el usuario S2-user? Deja tu comentario y cuéntanos desde qué distribución de Linux te conectaste.
Es posible que te de el siguiente fallo: **WARNING: UNPROTECTED PRIVATE KEY FILE! **
En mi caso lo colucione dandole permisos 600 al fichero con chmod 600 llave
por la documentación de amazon, se recomienda que se le den permiso 400
Muchas gracias, me hubiera vuelto loco buscando el problema.
Cabe aclarar que de acuerdo a la instancia creada (el sistema elegido), el usuario será diferente, no siempre será ec2-user.
Los usuarios correctos segun el tipo de sistema son los siguientes:
Para Amazon Linux 2 o Amazon Linux AMI, el usuario correcto es ec2-user.
Para CentOS AMI, el usuario correcto es centos.
Para Debian AMI, el usuario correcto es admin.
Para Fedora AMI, el usuario correcto es ec2-user o fedora.
Para RHEL AMI, el usuario correcto es ec2-user or root.
Para SUSE AMI, el usuario correcto es ec2-user or root.
Para Ubuntu AMI, el usuario correcto es ubuntu.
Incluso uno puede modificar el usuario desde el panel de la instancia y poner el que uno desee.
Muy valioso este aporte, gracias !
En mi caso utilizo Ubuntu sobre Windows, me arrojaba un error
WARNING:UNPROTECTEDPRIVATEKEYFILE!
me faltaba agregar el comando sudo al inicio
sudo ssh -i platzi-llave.pam
En ciertas ocasiones, aún escribiendo bien el comando, te saldrá ese error, y será por los permisos que tiene el archivo .pem. Para solucionarlo, sólo tendrás que correr:
sudo chmod 400 plates-llave.pem
Para saber como conectarse a una instancia de forma correcta, en el listado de las instancias pulsamos sobre la deseada y le damos al botón 'Connect'. Amazon nos mostrará una pestaña con información de como conectarnos a esa instancia y como solucionar el posible problema de permisos de la llave.
Conexión SSH desde unix
Queria acotar que al momento de autenticarme em mac se me presento warning
es importante tener en cuenta que aws te exige que donde decides guardar tus llaves deben ser solo legibles por ti con esto lo solucione.
La forma en la que se conecta por Linux también es posible hacerla desde Windows en la consola (CMD), es casi igual.
La estructura es:
ssh -i "nombreDeLaLlaveEntreComillas" user@DNSdeIPv4pública
ejemplo
ssh -i "servidor.pem" ubuntu@ec2-54-89-134-21.compute-1.amazonaws.com
Hola!
Permissions 0777 for 'code_serverpem.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "code_serverpem.pem": bad permissions
ec2-user@18.222.228.88: Permission denied (publickey).
Me aparece esto y no me dejó entrar qué tengo que hacer?
Hola!
Parece que los permisos que tiene el archivo son muy permisivos, significa que todos pueden acceder al archivo en tu sistema y eso no es seguro. Puedes cambiar los permisos con el comando chmod , te dejo acá una guía.
Para ver los permisos que tiene el archivo puedes usar el comando ls -lah
Conectado. Se género una alerta que el archivo ***.pen tenia muchos permisos
Permissions0777for'***.pem' are too open.It is required that your private key files are NOT accessible by others.Thisprivate key will be ignored.Load key ".pem": bad permissions
chmod 700***.pem
lo recomendado es que las llaves tengan permisos 400
ssh -i nombrellave.pem nombreusario@ip
Suele pasar mucho pero en ocasiones es mejor cambiar los permisos sobre la llave para poder acceder desde linux.
sudo chmod 400 mykey.pem
conexión desde la terminal de linux:
ssh -i nombre-llavessh.pem usuario@ip-publicadelservidor.
Ejemplo:
ssh -i llave.pem ubuntu@18.219.9.82
Es posible que tengan problemas con los permisos actuales que tiene la llave .pem en tu sistema GNU/Linux, así que es necesario darle permisos con la instrucción “sudo chmod 600 archivo.pem” sin las comillas y recordar que si el archivo .pem esta en algún directorio pues debes escribir toda la ruta para aplicar los permisos ej: “sudo chmod 600 Documentos/Platzi/AWS/archivo.pem” o desde la terminal ingresar al directorio con el comando “cd”.
Gracias es un buen consejo eso de los permisos CHMOD 600
Super! :)
permisos para .pem usé chmod 400 y funcionó
Hola, una pregunta, que significa la opción -i en ese caso?
Al tratar de autenticarme me genera ester error : Load key "extreme.ppk": invalid format
ec2-user@52.206.184.7: Permission denied (publickey).
Me aparece
Network error: Connection timed out
no se conecta a la instancia
copie la ip privada en vez de la publica
gracias
Hola, yo paré mi instancia y cerré todo, como hago para volver a la instancia que había creado antes, es que no me aparece, les agradezco mucho la ayuda.
No te aparece en la consola de aws?
o no te puedes conectar a ella por ssh?
No me aparece en el Dashboard de AWS...
Hola Chicos,
Hoy en dia la Interfax Grafica AWs ha cambiado un poco, sim ebargo el Procedimiento permance igual a pesar del tiempo el base es mismo.
PD.: El WizIcon de AWS Linux 2023 ha cambiado desde entocnes, El Ahora es una Adorable Avecilla .