116 votes

la copie scp sur ssh ne fonctionne pas - erreur de permission refusée, svp ?

Ça me rend dingue ! Je veux juste transférer un simple fichier de l'ordinateur portable au serveur.

J'utilise ubuntu sur les deux machines.

C'est ce que j'ai fait :

-rwxr-xr-x 1 sandro    414622 2011-10-14 23:42 sandrophoto-html.tar.gz

Et je l'envoie en utilisant :

sudo scp -P XXXX sandrophoto-html.tar.gz usern@server.local:/media/xx/xx/xx

Et je comprends : scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied

p.s. Il se peut que je fasse ceci d'une autre manière - je veux envoyer le fichier tar.gz qui se trouve sur mon bureau, au serveur distant dans le dossier /media/yadayda.

117voto

Jeremy Logan Points 255

Vous avez les choses dans le bon ordre, d'après ce que j'ai compris, la façon générale de faire un scp est la suivante :

scp sourceuser@sourcehost:/path/to/source/file destinationuser@destinationhost:/path/to/destination/

D'après votre question, vous avez un fichier local que vous voulez envoyer au serveur de destination. Vous avez donc la bonne syntaxe, ce qui est bien !

Si vous obtenez une permission refusée, c'est que vous n'utilisez pas le bon nom d'utilisateur ou que quelque chose ne va pas avec l'authentification. Le plus souvent, c'est parce que la commande sudo ne fonctionne que localement, pour commencer, et qu'elle ne vous donnera pas le droit d'accéder à la racine sur le serveur distant, ce qui est probablement la cause du problème. Assurez-vous que l'utilisateur sous lequel vous vous connectez sur le serveur distant dispose des droits d'écriture à l'emplacement où vous essayez d'écrire.

Si le problème est que l'utilisateur de destination n'a pas accès à cet emplacement sans sudo, déplacez le fichier vers le dossier personnel de l'utilisateur de destination puis sudo mv le fichier depuis le Shell sur l'autre serveur pour le mettre au bon endroit.

63voto

jjonas Points 1

J'ai eu le même problème d'erreur d'autorisation et je l'ai résolu de cette façon.

Assurez-vous que le répertoire dans lequel vous copiez sur 192.168.0.4 appartient à l'utilisateur nom d'utilisateur

chown username downloads

Sur votre machine locale, faites

sudo scp filename.zip username@192.168.0.4:/etc/Myfiles/downloads

Cheers

33voto

Abhishek Kaushik Points 439

Permisssion Denied signifie que vous n'êtes pas la racine du serveur. Vous y détenez simplement un compte. Dans ce cas, vous devez faire ceci :

sudo scp -r /path2yourFolder/ username@server_Ip:/home/username

Cette copie sera effectuée dans votre répertoire personnel sur le serveur.

Cela fonctionnera également :

scp -r /path2yourFolder/ username@server_Ip:~/

12voto

Dirk Points 221

J'ai eu un problème similaire, c'est arrivé parce que ssh prend -p xxxx pour spécifier le port tandis que scp prend -P xxxx pour spécifier le port. Une incohérence mineure, si facile à manquer :(

12voto

Alex Tau Points 579

Cette erreur s'est produite lorsque le fichier existait déjà dans l'emplacement cible et que le fichier existant avait des autorisations de lecture seule (empêchant le fichier d'être écrasé). Dans mon cas, je me suis simplement connecté et j'ai supprimé le fichier existant, ce qui a corrigé le problème.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X