J'essaie de transférer des fichiers d'un ordinateur distant ssh
vers mon ordinateur:
scp My_file.txt user_id@server:/Home
Cela devrait mettre My_file.txt dans le dossier d'accueil de mon propre ordinateur, non? Je reçois
scp / Home: autorisation refusée
Aussi quand j'essaye:, ...@server:/Desktop
afin de copier les fichiers de l'ordinateur distant sur mon bureau.
Qu'est-ce que je fais mal?
ssh
permissions
scp
Erez
la source
la source
scp My_file.txt user_id@server:
il copie dans le dossier personnel des utilisateurs.Réponses:
Vos commandes tentent de placer le nouveau document à la racine (
/
) de votre machine. Ce que vous voulez faire est de les transférer à votre domicile répertoire (puisque vous n'avez pas autorisé à écrire/
). Si le chemin d'accès à votre domicile ressemble à quelque chose comme/home/erez
ceci:Vous pouvez remplacer le chemin d'accès à votre répertoire personnel par le raccourci
~/
, de sorte que ce qui suit aura le même effet:Vous pouvez même laisser complètement le chemin du côté distant; cela signifie votre répertoire personnel.
Autrement dit, pour copier le fichier sur votre bureau, vous pouvez le transférer vers
/home/erez/Desktop/
:ou en utilisant le raccourci:
ou en utilisant un chemin relatif sur le côté distant, qui est interprété par rapport à votre répertoire personnel:
Éditer:
Comme @ckhan l'a déjà mentionné, vous devez également échanger les arguments, il doit être
Donc, si vous souhaitez copier le fichier
My_file.txt
du serveuruser_id@server
sur votre bureau, vous devez essayer ce qui suit:Si le fichier
My_file.txt
se trouve dans votre répertoire personnel sur le serveur, vous pouvez à nouveau utiliser le raccourci:la source
~
doit être protégé de l'évaluation afin d'être évalué sur l'hôte distant:\~
par exemple.Je suis venu ici pour "Transférer des fichiers en utilisant scp: permission refusée" car j'avais la même erreur.
Dans mon cas, le fichier téléchargé avec scp aurait écrasé un fichier appartenant à root, et je n'étais pas root. En bref, vérifiez la propriété du fichier en cours d'écrasement.
la source
/Home
et n'est pas root, il n'a pas accès en écriture à l'extérieur~/
cela semble être comme un problème d'autorisation
Le fichier peut ne pas avoir d'autorisations de lecture car il est remis au serveur de destination en tant que compte source.
vous devez vous assurer que le fichier à la source possède les autorisations requises, en particulier l'autorisation de lecture
-rw-r - r--
chmod 744
puis scp le fichier à destination. Cela sera résolu
la source
-rw-r--r--
est 644, pas 744. La définition d'une autorisation exécutable sur un fichier qui n'est pas réellement exécutable peut provoquer des problèmes.Ce qui fixe la « permission refusée » pour moi était, sur le serveur distant, changer la propriété du dossier à la racine: (! Cela peut se produire lorsque vous envoyez un fichier à un utilisateur non root, et le répertoire est la propriété de root) sur la machine distante (destination copie):
Pour être sûr également, activez toutes les autorisations sur le dossier distant: (pas toujours nécessaire):
la source
Vous avez les arguments à
scp
renverser. C'est d'abord la source, puis la destinationcp
.man scp
pour plus de détails.la source
Permisssion Denied signifie que vous n'êtes pas la racine du serveur. Vous détenez simplement 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
Installez un outil Windows "mRemoteG" sur www.mremoteng.org/
Créez votre connexion SSH à la case souhaitée.
Cliquez sur le menu "Transférer le fichier".
Il permettra de transférer facilement des fichiers de Windows vers Linux.
Merci.
la source
Amazon Linux AMI
Assurez-vous que vous devez définir le chemin absolu du serveur, depuis votre domicile dans le cas actuel:
la source
Les mêmes autorisations s'appliquent des deux côtés du scp. Vous obtiendrez cette erreur si l'utilisateur n'a pas l'autorisation d'écrire dans la destination. Les symptômes semblent impliquer la source, mais dans mon cas, la destination a été créée par root et ne disposait pas de l'autorisation d'écriture pour le compte d'utilisateur prévu.
la source
Dans mon cas, j'ai également essayé d'accorder toutes les autorisations avec -R au dossier, mais j'ai quand même eu l'erreur sur l'autorisation.
J'ai dû supprimer "/" avant le chemin du serveur cible et du dossier. La raison en est que Downloads est le premier dossier que je peux lister après que je ssh sur le serveur, par exemple: ssh [email protected]
Cela marche:
sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip [email protected]: Téléchargements
Cela ne fonctionnait pas:
sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip [email protected]: / Téléchargements
la source
Solution facile. Assurez-vous que vous êtes root. SCP à la télécommande et il vous demandera le mot de passe root de cette machine. Juste eu ce problème qui était la solution. Vous les enracinez root.
la source
avant d'utiliser la commande scp, assurez-vous de donner des autorisations de lecture, d'écriture et d'exécution à tout le monde à l'extérieur. "chmod 777 nom_fichier"
la source