Problema de acceso ssh de AWS 'Permiso denegado (clave pública)' [cerrado]
¿Cómo conectarse a una instancia de AWS a través de ssh?
Tengo:
- Registrado en AWS;
- Creó una clave pública y un certificado en el sitio web de AWS y los guardó en el disco;
Fui a mi consola y creé variables de entorno:
$ export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/ $ export EC2_CERT=/home/default/aws/cert-EBAINCRNWHDSCWWIHSOKON2YWGJZ5LSQ.pem $ export EC2_PRIVATE_KEY=/home/default/aws/pk-EBAINCRNWHDSCWWIHSOKON2YWGJZ5LSQ.pem
Le dije a la API de AWS que usara este par de claves y lo guardó en un archivo:
$ ec2-add-keypair ec2-keypair > ec2-keypair.pem
Inició una instancia de AWS Ubuntu 9 usando este par de claves:
$ ec2-run-instances ami-ed46a784 -k ec2-keypair
Intentó establecer una conexión ssh con la instancia:
$ ssh -v -i ec2-keypair.pem [email protected] OpenSSH_5.1p1 Debian-5ubuntu1, OpenSSL 0.9.8g 19 Oct 2007 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to ec2-174-129-185-190.compute-1.amazonaws.com [174.129.185.190] port 22. debug1: Connection established. debug1: identity file ec2-keypair.pem type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5ubuntu1 debug1: match: OpenSSH_5.1p1 Debian-5ubuntu1 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-cbc hmac-md5 none debug1: kex: client->server aes128-cbc hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host 'ec2-174-129-185-190.compute-1.amazonaws.com' is known and matches the RSA host key. debug1: Found key in /home/default/.ssh/known_hosts:11 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: ec2-keypair.pem debug1: read PEM private key done: type RSA debug1: Authentications that can continue: publickey debug1: No more authentication methods to try. Permission denied (publickey).
¿Cuál podría ser el problema y cómo hacerlo funcionar?
Para instancias de Ubuntu:
chmod 600 ec2-keypair.pem
ssh -v -i ec2-keypair.pem [email protected]
En otros casos, es posible que tengas que utilizar ec2-user
en lugar de ubuntu
.
La mayoría de las imágenes de EC2 Linux que he usado solo tienen el usuario root creado de forma predeterminada.
Ver también: http://www.youtube.com/watch?v=WBro0TEAd7g
Ahora es:
ssh -v -i ec2-keypair.pem ec2-user@[yourdnsaddress]
Las versiones de Canonical utilizan el usuario 'ubuntu' de forma predeterminada para cualquiera que llegue aquí con una imagen de ubuntu que tenga el mismo problema.
Si está utilizando una imagen de Bitnami, inicie sesión como 'bitnami'.
Parece obvio, pero es algo que pasé por alto.