Jessaie de transférer des fichiers depuis un ordinateur distant en utilisant ssh
vers mon ordinateur:
scp My_file.txt user_id@server:/Home
Cela devrait mettre My_file.txt dans le dossier de base de mon propre ordinateur, non? Jobtiens
scp / Home: permission refusée
Aussi lorsque jessaye: ...@server:/Desktop
, afin de copier les fichiers de lordinateur distant sur mon bureau.
Quest-ce que je fais de mal?
Commentaires
Réponse
Vos commandes tentent de placer le nouveau document à la racine (/
) de votre machine. Ce que vous voulez faire est de les transférer dans votre répertoire home (puisque vous n’avez pas d’autorisation d’écrire dans /
). Si le chemin daccès à votre domicile ressemble à /home/erez
, essayez ce qui suit:
scp My_file.txt user_id@server:/home/erez/
Vous pouvez remplacer le chemin par votre répertoire daccueil avec le raccourci ~/
, donc ce qui suit aura le même effet:
scp My_file.txt user_id@server:~/
Vous pouvez même quitter sur le chemin tout à fait du côté éloigné; cela signifie votre répertoire personnel.
scp My_file.txt user_id@server:
Autrement dit, pour copier le fichier sur votre bureau, vous voudrez peut-être le transférer vers /home/erez/Desktop/
:
scp My_file.txt user_id@server:/home/erez/Desktop/
ou en utilisant le raccourci:
scp My_file.txt user_id@server:~/Desktop/
ou en utilisant un chemin relatif du côté distant, qui est interprété par rapport à votre répertoire de base:
scp My_file.txt user_id@server:Desktop/
Modifier:
Comme @ ckhan déjà mentionné, il faut aussi permuter les arguments, ça doit être
scp FROM TO
Donc si vous voulez copier le fichier My_file.txt
depuis le serveur user_id@server
vers votre bureau, vous devriez essayer ce qui suit:
scp user_id@server:/path/to/My_file.txt ~/Desktop/
Si le le fichier My_file.txt
se trouve dans votre répertoire personnel sur le serveur, vous pouvez à nouveau utiliser le raccourci:
scp user_id@server:~/My_file.txt ~/Desktop/
Commentaires
- – Jai ‘ essayé: » ~ / pour ‘ Accueil ‘ maintenant, ainsi que » ~ / Bureau /. Les deux ont donné: Mon_fichier.txt 100% 0 0,0 Ko / s 00:00, et je ne peux pas voir les fichiers dans mes dossiers. Quest-ce que je fais encore mal? Merci beaucoup!
- Sur votre deuxième exemple de commande, le
~
doit être protégé de lévaluation pour être évalué sur lhôte distant:\~
par exemple. - Afin de vous remercier, je me suis inscrit sur le site. Merci davoir sauvé ma journée 🙂
Réponse
Je suis venu ici pour « Transférer des fichiers à laide de scp: permission refusée « parce que jai eu 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. Bref, vérifiez la propriété du fichier étant écrasé.
Commentaires
- Dans ce cas, il ‘ car il ‘ essaie décrire dans
/Home
et nest pas root, il na ‘ pas laccès en écriture en dehors de~/
- Aidez-moi.
Réponse
Ce qui a corrigé la « permission refusée » pour moi était, sur le serveur distant, de changer la propriété du dossier en root: (Cela peut arriver lorsque vous envoyez un fichier à un utilisateur non root, et que le répertoire appartient à root! ) Sur la machine distante (destination de copie):
sudo chown (your username) (remote folder)
Pour être sûr également, activez toutes les autorisations sur le dossier distant: (pas toujours nécessaire):
sudo chmod 777 (remote folder)
Réponse
cela semble être un problème dautorisation
Le fichier peut ne pas avoir les autorisations de lecture car il est livré au serveur de destination en tant que compte source.
vous devez vous assurer que le fichier à la source a les autorisations requises, en particulier lautorisation de lecture
-rw-r – r–
chmod 744
puis scp le fichier vers la destination. Ce problème sera résolu
Commentaires
-
-rw-r--r--
vaut 644 et non 744. Définition de lautorisation exécutable sur un un fichier qui nest pas réellement exécutable peut causer des problèmes.
Réponse
Vous avez les arguments pour scp
inversé.Cest dabord la source, puis la destination, comme cp
. man scp
pour plus de détails.
Réponse
Comme la souligné Jinzai, le dossier distant peut appartenir à la racine. Dans mon cas, quelquun (ou quelque chose) a changé le propriétaire du dossier personnel de lutilisateur enraciner. Ainsi, lorsque jai essayé denvoyer un fichier à un serveur distant, une erreur dautorisation refusée sest produite.
Vous pouvez vérifier le propriétaire du dossier avec la commande ls -l
:
drwxr-xr-x 5 root root 4096 Oct 21 08:16 user2
Dans lexemple ci-dessus, le dossier user2 appartient à root. Vous pouvez changer le propriétaire comme ceci:
chown user2:user2 user2
Il existe également un moyen plus rapide de vérifier si le serveur bloque un fichier en scp ou pas. Essayez de créer un fichier dans le dossier cible, par exemple avec touch test_file
. Si vous ne parvenez pas à créer un fichier dans le dossier, vous ne pourrez pas envoyer le fichier ici à distance par le même utilisateur.
Réponse
Permisssion 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:
sudo scp -r /path2yourFolder/ username@server_Ip:/home/username
Ceci sera copié dans votre répertoire personnel sur le serveur.
Cela fonctionnera également :
scp -r /path2yourFolder/ username@server_Ip:~/
Réponse
AMI Amazon Linux
Assurez-vous que vous devez définir le chemin daccès absolu au serveur, depuis home dans le cas actuel:
scp file.txt SSH-ALIAS:/home/YOUR_USER/
Réponse
Installez un outil Windows » mRemoteG « depuis www.mremoteng.org/
Créez votre connexion SSH dans la boîte souhaitée.
Cliquez sur le menu « Transférer un fichier ».
Cela permettra de transférer facilement des fichiers de Windows vers Linux.
merci.
Réponse
Les mêmes autorisations sappliquent des deux côtés du scp. Vous obtiendrez cette erreur si lutilisateur na pas lautorisation 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 lautorisation décriture pour le compte dutilisateur prévu.
Réponse
Dans mon cas, jai également essayé daccorder toutes les autorisations avec -R au dossier, mais jai quand même obtenu lerreur dautorisation.
Jai 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 avoir ssh sur le serveur, par exemple: ssh [email protected]
Cela fonctionne:
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
Réponse
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 rootez.
Commentaires
- Puisque les connexions root sont normalement désactivées dans sshd_config , vous devez montrer à lOP comment pour changer cela (bien que ‘ ne soit pas recommandé).
- Pourquoi insistez-vous pour utiliser root pour copier un (nimporte quel) fichier? Notez également la réponse acceptée dil y a environ 7 ans …
Réponse
avant dutiliser la commande scp, faites assurez-vous daccorder des autorisations de lecture, décriture et dexécution à tout le monde à lextérieur. « chmod 777 file_name »
Commentaires
- vous pouvez copier des fichiers qui ne sont pas 777
scp My_file.txt user_id@server:
Il copie dans le dossier daccueil de lutilisateur.