Et je reçois: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied
ps Je pourrais faire l'inverse - je veux envoyer un fichier tar.gz qui se trouve sur mon bureau, sur le serveur distant dans le dossier / media / yadayda
À en juger par votre question, vous avez un fichier local que vous souhaitez envoyer au serveur de destination. Vous avez donc la bonne syntaxe, ce qui est bien!
Si l'autorisation vous est refusée, cela signifie que vous n'utilisez pas le bon nom d'utilisateur ou que quelque chose ne va pas avec l'authentification. Très probablement, c'est parce que la commande sudo ne fonctionne que localement, pour commencer, donc elle ne vous donnera pas de racine sur la boîte distante, donc c'est probablement le problème. Assurez-vous que l'utilisateur auquel vous vous connectez sur le serveur distant dispose des autorisations d'écriture sur l'emplacement vers lequel 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 personnel de l'utilisateur de destination, puis sudo extrait le fichier du shell de l'autre serveur pour le placer au bon emplacement.
J'ai eu un problème similaire, c'est arrivé parce que ssh prendre -p xxxx pour spécifier le port pendant scp prendre -P xxxx pour spécifier le port. Incohérence mineure, si facile à manquer :(
Cette erreur s'est produite pour moi lorsque le fichier existait déjà à l'emplacement cible et que le fichier existant disposait d'autorisations en lecture seule (empêchant l'écrasement du fichier). Dans mon cas, je viens de me connecter et de supprimer le fichier existant, ce qui a corrigé le problème.
J'ai eu le même problème. J'ai découvert que le répertoire contenant mon source le fichier n'avait pas assez d'autorisations. Je viens donc de changer le mode récursivement en utilisant:chmod -R 771 directory_path sur la machine source.
J'essayais de copier à partir de ma machine locale comme username@localhost; la clé SSH que j'utilisais n'était pas enregistrée pour accéder à mon hôte local, donc l'autorisation m'était refusée. Quand j'ai enlevé ça de la source oui, ça a marché.
Dans mon cas, C’était une raison de sécurité du côté de la réception, je devais chmod le répertoire pour permettre à l’utilisateur distant d’écrire le fichier (j’ai chmod 777 le répertoire-mais c’est un laboratoire interne)