la copie de scp sur ssh ne fonctionne pas-erreur d'autorisation refusée, s'il vous plaît?

Ça me rend dingue! Je veux juste transférer un fichier simple d'un ordinateur portable au 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 usern@server.local:/media/xx/xx/xx

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

Vous avez les choses dans le bon ordre d'après ce que je comprends, la façon générale dont un scp est fait est:

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

À 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 ce même problème d'erreur d'autorisation résolu de cette façon

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

chown username downloads

Sur votre machine locale, faites ensuite

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

Acclamation

Autorisation refusée signifie que vous n'êtes pas la racine du serveur. Vous avez juste un compte là-bas. Donc, dans ce cas, vous devez le faire:

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

Cela se copiera dans votre répertoire personnel sur le serveur.

Cela fonctionnera aussi:

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

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)