Acceder a instancia EC2 de Cloud9 por SSH desde Ubuntu en Windows

Las instancia que se crean desde Cloud9 no tienen una key pair asociada, pero se puede acceder a ellas si tu mismo instalas una. Para ello:

Desde Ubuntu en Windows genérate una key pair:

ssh-keygen -t rsa

Por defecto esto creara dos archivos dentro ~/.ssh la clave pública (id_rsa.pub) y la clave privada (id_rsa). Muestra en pantalla la clave privada y copiala:

cat ~/.ssh/id_rsa.pub

Si creas el archivo de esta manera los permisos de acceso se crearan correctamente, en otro caso puede que tengas que configurarlos tal que así:

chmod 400 id_rsa

Abre tu instancia Cloud9 y dentro ella una ventana de terminal.

Ve a la siguiente ruta:

cd ~/.ssh

Abre el siguiente archivo:

sudo vim authorized_keys

En ese archivo aparecen varia claves públicas que necesita el propio Cloud9, Pega la clave pública que copiaste desde Ubuntu después de “# Add any additional keys below this line”.  Guarda.

Ahora puedes volver a Ubuntu y conectarte por ssh, teniendo en cuenta que el usuario por defecto que crea ec2 se llama ec2-user:

ssh -i id_rsa ec2-user@<ip pública ec2>

Yo me he guardado mi colección de key-pairs en Dropbox.

Pro Tip: Si como a mi la neurona no te da para más y no crees que vayas a poder recordar la cadena de conexión, te puedes crear un alias y almacenarlo en .bash_profile para que sea permanente:

echo "alias c9='ssh -i ~/.ssh/id_rsa ec2-user@c9.enzo.es'" >> ~/.bash_profile

De esta manera sólo con pone “c9” en el Terminal te conectarás a tu máquina en Cloud9.