macos - refused - Error de permisos al conectarse a EC2 a través de SSH en Mac OSx
permission denied(publickey) aws (13)
Soy nuevo en EC2. Creé mis credenciales de seguridad desde este sitio:
http://paulstamatiou.com/how-to-getting-started-with-amazon-ec2
Funcionó muy bien, reinicié y ahora, cuando intento conectarme, obtengo un aviso de inicio de sesión / contraseña. (Que nunca configuré). Después de varios intentos aparece este error:
Permiso denegado (publickey, gssapi-with-mic).
¿Qué estoy haciendo mal?
¿Estás seguro de haber usado 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, vea "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.
+1
Noté que para algunas 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.
Después de aproximadamente media hora de búsqueda e intento de depurar esto, pude descifrarlo. 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 en la que trabajó fue el estándar aws linux ami amzn-ami-hvm-2014.03.2.x86_64-ebs. Simplemente utilicé
ssh -i mypemfile.pem ec2-user@myec2ipaddress
Y funcionó.
Luego lancé una instancia Fedora-x86_64-19-20140407-sda de Fedora y probé el mismo comando, pero continué obteniendo:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
¡Después de cambiar mi nombre de usuario de ec2-user a fedora, funcionó!
ssh -i mypemfile.pem fedora@myec2address
Dos posibilidades que puedo pensar, aunque ambas se mencionan en el enlace al que hizo referencia:
No está especificando el archivo de par de claves SSH correcto 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 pares de teclas] root @ [nombre de host de la instancia EC2 o dirección IP]
No tiene los permisos correctos en el archivo de pares de claves; Deberías usar
chmod 600 [archivo de pares de claves]
para asegurarse de que solo usted pueda leer o escribir el archivo.
Intenta usar la opción -v con ssh para obtener más información sobre dónde está fallando exactamente, y publica aquí si deseas más ayuda.
[Actualizar]: OK, entonces esto es lo que debería haber visto si todo estuviera 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ás ejecutando el comando ssh desde el directorio que contiene el archivo ec2-keypair? 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.
En mi caso, es porque el permiso para mi directorio personal es 775, y SSH no está contento con eso. Debería funcionar después de ejecutar:
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. Me alegro de que todavía tenía una conexión activa, así que modifiqué /etc/ssh/sshd_config
para establecer:
PasswordAuthentication yes
y establecer la contraseña para ec2-user
, luego puedo iniciar sesión ingresando 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.
Etiquetado en la respuesta de mecca831:
ssh -v -i generated-key.pem [email protected]
[[email protected] ~] $ sudo passwd ec2-user newpassword newpassword
[[email protected] ~] $ sudo vi / etc / ssh / sshd_config Modifique 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
Salvar
[[email protected] ~] $ sudo service sshd stop [[email protected] ~] $ sudo service sshd start
Debería poder salir y entrar ssh de la siguiente manera:
y se le pedirá una contraseña que ya no necesita la clave.
La clave para poder conectarme era utilizar el usuario "ec2-user" en lugar de root. Es decir:
ssh -i [full path to keypair file] ec2-user@[EC2 instance hostname or IP address]
Ninguno de los anteriores me ayudó, pero festejar con el usuario parecía prometedor. Para mi configuración usando ''ubuntu'' estaba en lo cierto .....
ssh -i [ruta completa al archivo del par de claves] ubuntu @ [nombre de host de la instancia EC2 o dirección IP]
Pude iniciar sesión usando ec2-user
ssh -i [ruta completa al archivo del par de claves] ec2-user @ [nombre de host de la instancia EC2 o dirección IP]
Recomiendo no 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í hay un ~/.ssh/config
básico:
Host my-ec2-server
HostName 11.11.11.11
User ec2-user
IdentityFile /path/to/generated-key.pem
¡Ahora puede escribir ssh my-ec2-server
y ya está! Y como también se menciona en otras respuestas, use -v para obtener información adicional cuando su conexión no esté funcionando.
Si tiene un archivo PPK trabajando en una PC, expórtelo como archivo OpenSSH usando puttygen.exe para PC y utilícelo en Mac (cualquier máquina Unix).
Estaba obteniendo 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 estaba usando un archivo PPK en Windows, seguí los pasos que se describen arriba y ¡Bingo!
$ ssh -i ec2-openssh-key root @ ec2-instance-ip
También había encontrado este problema. Y descubrí que eso sucedió porque olvidé agregar el nombre de usuario antes del nombre de host: así:
ssh -i test.pem ec2-32-122-42-91.us-west-2.compute.amazonaws.com
y agrego el nombre de usuario:
ssh -i test.pem [email protected]
¡funciona!
Tuve el mismo problema al usar 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ó.