publickey por permission permisos ec2 conectarse conectar aws unix amazon-ec2 file-permissions scp

unix - por - scp permission denied(publickey)



SCP Permiso denegado(clave pública). en EC2 solo cuando se utiliza el indicador-r en los directorios (4)

scp -r /Applications/XAMPP/htdocs/keypairfile.pem uploads ec2-user@publicdns:/var/www/html

donde cargas es un directorio devuelve Permiso denegado (clave pública).

sin embargo

scp -i /Applications/XAMPP/htdocs/keypairfile.pem footer.php ec2-user@publicdns:/var/www/html

funciona (observe el cambio de bandera).

cargas es una carpeta vacía

Estos son los permisos de archivos para el directorio de carga

drwxrwxrwx 3 geoffreysangston admin 102 Nov 15 01:40 uploads

Estos son los permisos de archivo para / var / www / html

drwxr-x--- 2 ec2-user ec2-user 4096 Jan 5 20:45 html

Intenté cambiar html a 777 y tampoco funciona.


El distintivo -i especifica la clave privada (archivo .pem) que se utilizará. Si no especifica esa bandera (como en su primer comando) usará su clave ssh predeterminada (generalmente bajo ~/.ssh/ ).

Por lo tanto, en su primer comando, en realidad le está pidiendo a scp que cargue el archivo .pem usando su clave ssh predeterminada. No creo que eso sea lo que quieres.

Pruebe en su lugar con:

scp -r -i /Applications/XAMPP/htdocs/keypairfile.pem uploads/* ec2-user@publicdns:/var/www/html/uploads


Incluso si las soluciones anteriores no funcionan, compruebe los permisos al archivo de destino de la instancia de aws ec2. Puede ser que puedas probar con sudo chmod 777 -R destinationFolder/*


Si desea cargar el archivo /Applications/XAMPP/htdocs/keypairfile.pem a ec2-user@publicdns:/var/www/html , simplemente puede hacer:

scp -Cr /Applications/XAMPP/htdocs/keypairfile.pem/uploads/ ec2-user@publicdns:/var/www/html/

Dónde:

  • -C - Comprimir datos
  • -r - Recursivo

transferir archivos desde el host local al remoto

scp -i (ruta de acceso de su clave) (ruta para transferir su archivo) (username @ ip) :( ruta donde se copiará el archivo)

e.g scp -i aws.pem /home/user1/Desktop/testFile ec2-user@someipAddress:/home/ec2-user/

PS - ec2-user @ someipAddress de esta dirección IP debe tener acceso a la carpeta de destino en mi caso / home / ec2-user /