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 /