2010-02-01 19 views
23

Soy nuevo en EC2. Creé mis credenciales de seguridad de este sitio:Error de permisos al conectarse a EC2 a través de SSH en Mac OSx

http://paulstamatiou.com/how-to-getting-started-with-amazon-ec2

Se trabajó mucho, reinicié y ahora cuando intento conectar me sale un mensaje de login/contraseña. (Que nunca configuré.) Después de varios intentos aparece este error:

Permiso denegado (publickey, gssapi-with-mic).

¿Qué estoy haciendo mal?

+0

¡Ayuda! ¿Alguna idea? –

Respuesta

52

dos posibilidades que se me ocurren, a pesar de que son mencionados en el enlace que hace referencia:

  1. Usted no está especificando el archivo de par de claves SSH correcta o el nombre de usuario en el comando ssh que está utilizando para iniciar sesión en el servidor:

    ssh -i [ruta completa al archivo de par de claves] root @ [nombre de host instancia EC2 o dirección IP]

  2. Usted no tiene los permisos correctos en el archivo de par de claves; se debe utilizar

    chmod 600 [archivo de par de claves]

para asegurar que sólo se puede leer o escribir el archivo.

Pruebe usar la opción -v con ssh para obtener más información sobre dónde está fallando exactamente, y publique aquí si necesita más ayuda.

[Actualización]: OK, así que esto es lo que debe ha visto si todo se ha configurado correctamente:

debug1: Authentications that can continue: publickey,gssapi-with-mic 
debug1: Next authentication method: publickey 
debug1: Trying private key: ec2-keypair 
debug1: read PEM private key done: type RSA 
debug1: Authentication succeeded (publickey). 

¿Está ejecutando el comando ssh desde el directorio que contiene el archivo EC2-par de claves? Si es así, intente especificar -i ./ec2-keypair solo para eliminar los problemas de ruta. Compruebe también el archivo "ls -l [ruta completa a ec2-par de claves]" y asegúrese de que los permisos sean 600 (se muestran como rw -------). Si nada de eso funciona, sospecho que el contenido del archivo de pares de teclas, así que intente recrearlo siguiendo los pasos de su enlace.

+0

Aquí está la información específica relacionada con el error: debug1: autenticaciones que puede seguir: publickey, gssapi-with-mic debug1: Siguiente método de autenticación: publickey debug1: Tratando clave privada: EC2-par de claves debug1: leer PEM privada clave realizada: escriba RSA debug1: Autenticaciones que pueden continuar: publickey, gssapi-with-mic debug1: No hay más métodos de autenticación para probar. Permiso denegado (publickey, gssapi-with-mic). –

+0

He editado mi respuesta para agregar más información, ya que no hay espacio para ponerla en un nuevo comentario. –

+0

Lo revisé. Tengo dos pares de claves uno para uno y otro para otro sitio. Puedo usar el mismo par de llaves que está causando problemas en otra instancia sin problemas. ¿Podría ser el problema con esta instancia específica? Gracias por tu ayuda. –

14

La clave para poder conectarme era utilizar el usuario "ec2-user" en lugar de root. Es decir .:

ssh -i [full path to keypair file] [email protected][EC2 instance hostname or IP address] 
+1

+1 Estaba teniendo el mismo problema hasta que cambie el usuario de ec2user a ec2-user como se sugiere. –

+2

Según el disto de AMI/Linux utilizado, el nombre de usuario correcto para la línea de comandos de ssh puede ser root, ubuntu, ec2-user o tal vez otros. –

3

¿Estás seguro de haber utilizado la instancia correcta? Me encontré con este problema y me di cuenta de que algo así como 4 de las instancias de Ubuntu que probé no tenían instalados servidores SSH.

Para obtener una lista de buenos servidores, consulte "Obtener las imágenes" a mitad de camino. Parece que puedes estar usando algo más ... el nombre de usuario predeterminado es ubuntu en estas imágenes.

https://help.ubuntu.com/community/EC2StartersGuide

+0

nombre de usuario "ubuntu" lo arregló para mí – samuelsaumanchan

0

Si usted tiene un archivo de PPK trabajando en un PC, y luego exportarlo como archivo usando OpenSSH puttygen.exe para PC y el uso que en Mac (cualquier máquina Unix).

que estaba recibiendo el mismo error -

debug1: Authentications that can continue: publickey,gssapi-with-mic 
debug1: Next authentication method: publickey 
debug1: Trying private key: ec2-keypair 
debug1: read PEM private key done: type RSA 
debug1: Authentications that can continue: publickey,gssapi-with-mic 
debug1: No more authentication methods to try. 
Permission denied (publickey,gssapi-with-mic) 

Como yo estaba usando un archivo de PPK en Windows, he seguido los pasos descritos anteriormente y bingo!

$ ssh -i-EC2 openssh-clave raíz @ EC2-instance-ip

5

En mi caso es debido a que el permiso para que mi directorio principal es 775, y SSH no es feliz por ello. Debería funcionar después de la ejecución:

server$ chmod go-w ~/ 
server$ chmod 700 ~/.ssh 
server$ chmod 600 ~/.ssh/authorized_keys 

Tuve una experiencia muy similar esta tarde. Estaba configurando django en EC2, y de repente ya no puedo SSH en la caja. Glad todavía tenía una conexión activa, por lo que he modificado /etc/ssh/sshd_config para establecer:

PasswordAuthentication yes 

y establecer una contraseña para ec2-user, entonces puedo iniciar sesión mediante la introducción de la contraseña.

Sin embargo, después de buscar en Google encontré este hilo: http://ubuntuforums.org/showthread.php?t=577279. Resultó que durante mi configuración de django cambié el permiso para mi directorio personal, y SSH es muy estricto al respecto. Entonces, el permiso de archivo debe estar configurado correctamente.

+0

"Resultó que durante la configuración de django cambié el permiso para mi directorio personal, y SSH es muy estricto al respecto". Estaba teniendo este mismo problema, así que al ver ese consejo, lo intenté solo por el placer de hacerlo y ¡las cosas funcionaron! ! @ # $% Por qué el directorio de inicio también necesita ser 700 además de .ssh/me supera. No es que eso lo haga más seguro. – aqn

2

pude iniciar la sesión utilizando EC2 usuario

ssh -i [ruta completa al par de claves archivo] EC2-usuario @ [nombre de host instancia EC2 o dirección IP]

4

Etiquetado en la respuesta de mecca831:

ssh -v -i generados por key.pem [email protected]

[[email protected] ~] $ sudo passwd EC2 usuario newpassword newpassword

[[email protected] ~] $ sudo vi/etc/ssh/sshd_config Modificar el archivo de la siguiente manera:

# To disable tunneled clear text passwords, change to no here! 
    PasswordAuthentication yes 
    #PermitEmptyPasswords no 
    # EC2 uses keys for remote access 
    #PasswordAuthentication no 

Guardar

[EC2-usuario @ ip 11.11.11.11 ~] $ sudo service sshd detener [[email protected] ~] $ sudo service sshd empezar

usted debe ser capaz de salir y sSH en la siguiente forma:

ssh [email protected] 

y se le solicitará una contraseña que ya no necesite la clave.

1

Ninguno de los anteriores me ha ayudado, pero el aprendizaje con el usuario parecía prometedor. Por mi config usando 'ubuntu' era .....

ssh -i [ruta completa al archivo de par de claves] derecho ubuntu @ [ejemplo, el nombre de host o la dirección IP EC2]

0

he tenido el mismo problema con la AWS Toolkit para Eclipse. Creé la instancia Getting Started OK y abrí un shell. Sin embargo, el usuario se configuró en ec2-user. Utilicé el comando Abrir Concha Como ... y configuré al usuario en la raíz. Entonces funcionó.

1

Después de aproximadamente media hora de búsqueda y tratando de solucionar este problema, pude resolverlo. Mi situación me implicó usar el mismo archivo pem para dos instancias ec2 diferentes y funciona para una y no para la otra.

Mi primera instancia se trabajó en la era de los AWS estándar de Linux ami AMZN-ami-HVM-2014.03.2.x86_64-EBS. Simplemente utilicé

ssh -i mypemfile.pem [email protected] 

y funcionó.

luego me lanzó una instancia de Fedora Fedora-x86_64-19-20140407-SDA y trataron de la misma orden, pero mantuvo que:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 

Después de cambiar mi nombre de usuario EC2 a Fedora funcionó!

ssh -i mypemfile.pem [email protected] 
1

No recomiendo establecer una contraseña como sugieren otras respuestas. Usar el archivo de clave es más seguro (nadie puede adivinar sus contraseñas) y más conveniente (una vez que configura un archivo de configuración). Aquí es un básico ~/.ssh/config:

Host my-ec2-server 
    HostName 11.11.11.11 
    User ec2-user 
    IdentityFile /path/to/generated-key.pem 

Ahora usted puede simplemente escribir ssh my-ec2-server y estás en! Y como también se menciona en otras respuestas, use -v para obtener información adicional cuando su conexión no esté funcionando.

2

+1

me di cuenta de que para algunos AMI como Amazon Linux, [email protected] funcionaría. Pero para una imagen ubuntu, tuve que usar ubuntu @ en su lugar. Nunca fue un problema con .pem, solo con el nombre de usuario.

+0

Tuve el mismo problema que se resolvió utilizando el nombre de usuario predeterminado correcto. Mi instancia de ec2 era Red Hat Linux y el nombre de usuario era uso de la nube. Entonces ssh -i /path/to/key.pem cloud-user @ funcionó. – Stuart

3

había conocido a este problema too.and me encontré con que esto pasó por culpa me olvidó añadir la facilidad de nombre antes de que el nombre de host: así:

ssh -i test.pem ec2-32-122-42-91.us-west-2.compute.amazonaws.com 

y añadir el nombre de usuario:

ssh -i test.pem [email protected] 

funciona!

Cuestiones relacionadas