Ça me rend dingue! Je veux juste transférer un simple fichier d'un ordinateur portable à un serveur.
J'utilise Ubuntu sur les deux machines.
Donc j'ai:
-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 [email protected]:/media/xx/xx/xx
Et je reçois: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied
ps je pourrais faire cela autrement - je veux envoyer le fichier tar.gz qui se trouve sur mon bureau, au serveur distant dans le dossier / media / yadayda
Réponses:
D'après ce que j'ai compris, vous avez les choses dans le bon ordre, la manière générale dont un scp est fait est:
À en juger par votre question, vous souhaitez envoyer un fichier local au serveur de destination. Donc, vous avez la bonne syntaxe qui est bonne!
Si vous obtenez l'autorisation refusée, vous n'utilisez pas le nom d'utilisateur correct ou quelque chose ne va pas avec l'authentification. Très probablement, c'est parce que la commande sudo ne fonctionne que localement, pour commencer, de sorte qu'elle ne vous donnera pas la racine sur la boîte distante, c'est donc probablement le problème. Assurez-vous que l'utilisateur avec lequel vous vous connectez sur le serveur distant dispose d'autorisations en écriture sur 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 dans le dossier de départ de l'utilisateur de destination, puis sudo mv le fichier à partir du shell sur l'autre serveur pour le placer au bon emplacement.
la source
Salut a eu ce même problème d'erreur de permission résolu de cette façon
Assurez-vous que le répertoire sur lequel vous copiez
192.168.0.4
appartient au nom d' utilisateur de l' utilisateur.Sur votre machine locale, alors faites
À votre santé
la source
chmod
sur le dossier de destination sur le serveur distantPermisssion Denied signifie que vous n'êtes pas la racine du serveur. Vous avez juste un compte là-bas. Donc, dans ce cas, vous devez faire ceci:
Cela copiera dans votre répertoire personnel sur le serveur.
Cela fonctionnera également:
la source
~/
est en effet le moyen,-r
est de copier récursivement tout le répertoire.Cette erreur s'est produite lorsque le fichier existait déjà à l'emplacement cible et que le fichier existant disposait d'autorisations en lecture seule (empêchant le fichier d'être écrasé). Dans mon cas, je viens de me connecter et de supprimer le fichier existant, ce qui a corrigé le problème.
la source
J'ai eu un problème similaire, il s'est produit parce que
ssh
prend-p xxxx
pour spécifier le port etscp
prend-P xxxx
pour spécifier le port. Incohérence mineure, si facile à manquer :(la source
scp doesn't work Permission denied (publickey). lost connection for ec2 compute.amazonaws.com
Avait le même problème. J'ai découvert que le répertoire contenant mon fichier source n'avait pas assez de permission. Je viens donc de changer le mode de manière récursive en utilisant:
chmod -R 771 directory_path
sur la machine source.la source
J'essayais de copier depuis ma machine locale en tant que
username@localhost
; la clé SSH que j'utilisais n'était pas enregistrée pour accéder à mon localhost, donc je recevais une autorisation refusée. Lorsque j'ai supprimé cela de la partie source , cela a fonctionné.la source