permission - Transferir un archivo a una instancia de amazon ec2 usando scp siempre me da permiso denegado(publickey, gssapi-with-mic)
permission denied(publickey) aws (4)
Estoy tratando de transferir un archivo a una instancia de EC2. Seguí la documentación de Amazon, así es como se veía mi comando:
scp -i [the key''s location] Documents/[the file''s location] ec2-user@[public dns]:[home/[destination]]
donde reemplacé todas las variables con las cosas adecuadas, estoy seguro de que es la clave correcta y tiene el permiso 400. Cuando llamo al comando, me dice la huella dactilar de la clave RSA y me pregunta si quiero continuar conectándome. Escribo sí y responde con
Permission denied (publickey,gssapi-with-mic)
lost connection
He analizado muchas de las otras preguntas similares sobre el desbordamiento de pila y no puedo encontrar la forma correcta de hacerlo.
También el tráfico ssh está habilitado en el puerto 22.
El ejemplo que proporcionó Amazon es correcto. Suena como un problema de permisos de carpeta. Si creó la carpeta que está intentando copiar con otro usuario u otro usuario la creó, es probable que no tenga permisos para copiarla o editarla.
Si tienes habilidades de sudo, puedes intentar abrir el acceso por ti mismo. Aunque no se recomienda dejarlo de esta manera, puedes probar este comando:
sudo chmod 777 /folderlocation
Eso le da a cualquier persona permisos completos de lectura / escritura / ejecutable (por lo tanto, no debería dejarlo en 777), pero le dará la oportunidad de probar su comando scp para descartar permisos.
Luego, si no está familiarizado con los permisos, le sugiero que lea sobre esto. este es un ejemplo: http://www.tuxfiles.org/linuxhelp/filepermissions.html En general, se sugiere que bloquee la carpeta tanto como sea posible, dependiendo del tipo de información que contenga.
Si esa no fuera la causa, hay otras cosas que tal vez quiera verificar:
- ¿Se encuentra en el directorio de su clave cuando ejecuta el comando ''scp -i keyname''?
- ¿Tiene permisos para usar la carpeta que está transfiriendo?
La mejor de las suertes.
El problema puede ser el nombre de usuario. Copié un archivo a mi instancia de Amazon y primero intenté usar el comando:
scp -r -i ../.ssh/Amazon_server_key_pair.pem ./empty.test [email protected]:~
y consiguió el error: Permiso denegado (publickey).
Luego me di cuenta de que mi instancia es un entorno Ubuntu y el usuario usuario es "ubuntu", el comando correcto que funcionó para mí es:
scp -r -i ../.ssh/Amazon_server_key_pair.pem ./empty.test [email protected]:~
El archivo "empty.test" es un archivo de texto que contiene el texto "testing ...". Reemplace la dirección de su servidor virtual con la dirección correcta al DNS público de su instancia. He reemplazado la ip de mi instancia con xx.yy.zz.tt.
Podrían ser los que usan un nombre de usuario incorrecto. Me pasó, fue el mismo error msg -> Permiso denegado (publickey, gssapi-keyex, gssapi-with-mic). conexión perdida
Tengo que usar ubuntu @ en lugar de ec2-user @ porque cuando estaba viendo ubuntu @ en mi terminal, intente cambiar el nombre que ve en su terminal
También tienes que configurar el permiso para el archivo pem en tu computadora
chmod 400 /path/my-key-pair.pem
El siguiente código copiará el archivo de su computadora a la instancia de Ec2.
scp -i ~/location_of_your_ec2_key_pair.pem ~/location_of_transfer_file/sample.txt ubuntu@ec2_your_ec2_instance.compute.amazonaws.com:~/folder_to_which_it_needs_to_be_copied
El siguiente código copiará el archivo de la instancia de Ec2 a su computadora
scp -i ~/location_of_your_ec2_key_pair.pem ubuntu@ec2_your_ec2_instance.compute.amazonaws.com:~/location_of_transfer_file/sample.txt ~/folder_to_which_it_needs_to_be_copied