web-dev-qa-db-fra.com

Obtention de l'autorisation refusée pour SCP sur le serveur SSH au local

J'essaie de scp certains fichiers d'un serveur sur ma machine locale mais je reçois une autorisation refusée ou le serveur copie les fichiers sur le serveur.

ex:

scp username@Host:/files/to/copy/from/\* /path/of/local/destination/ -> permission refusée

scp username@Host:/files/to/copy/from/\* ~ -> copies du serveur dans le répertoire de base du serveur

scp username@Host:/files/to/copy/from/\* ~/Desktop -> server crée un fichier appelé Desktop on server 

Je ne sais pas quoi faire, c'est sur un Mac d'ailleurs

7
user2494770

Vous devez utiliser le -r pour la copie récursive et vous assurer que vous disposez des autorisations d'écriture sur la destination. Essayez de faire un touch /path/to/local/destination/file et voyez si votre autorisation est refusée. Si tel est le cas, utilisez Sudo scp pour copier les fichiers.

6
Chris Hinshaw

J'ai le même problème. J'utilise le nom d'utilisateur et le mot de passe pour scp les fichiers de Windows vers le compte du nom d'utilisateur sur Ubuntu et j'obtiens une erreur de permission refusée. La raison en est qu'un des répertoires appartient à root. Par exemple, si le compte est dans/home/nom d'utilisateur, alors très probablement que/home appartient à root. Si vous changez de propriétaire de/home, cela peut fonctionner. Essayez: . Sudo chown root:/folder

2
PhucLy

Cela peut arriver même si ssh fonctionne bien! Le problème est essentiellement lié aux autorisations de fichiers/répertoires! Utiliser chmod 777/path/dir/* donne un accès en écriture à tous les enfants immédiats de/dir - y compris les fichiers racine et les répertoires. Cependant, les autorisations d'accès n'affectent pas les fichiers/répertoires secondaires. Exemple: disons que j'ai ce site Web:/var/www: index.php, css [mobile.css, global.css], js [init. js, fun.js], include [head.php, footer.php, body.php, fun.php]

Pour pouvoir écraser fun.js: Chmod 777/var/www/js/*

1
ckwagaba

S'il existe un fichier portant le même nom que votre fichier source dans le répertoire de destination, vous devez d'abord le supprimer. J'ai rencontré le problème comme ça. 

0
Jepsenwan

J'ai eu le même problème.

J'ai tout essayé pour le réparer, jusqu'à ce que je vérifie ma passerelle ISP.

Je travaille avec une passerelle Zyxel de mon fournisseur de services Internet et, comme c'est loin de là où se trouve un autre terminal, j'ai poussé un ancien routeur/répéteur Linksys DD-WRT flashé. Mon terminal hôte connecté à Linksys a d’abord été connecté à la passerelle avec un verrou de table DHCP (j’ai ordonné à la passerelle de donner à la MAC de ce terminal la même adresse IP que DHCP). Je l’ai fait parce que j’avais d’abord un serveur NAS sur ce mac. Maintenant, j'ai déplacé le terminal à un autre endroit et j'ai totalement oublié l'affectation mac ip.

Alors maintenant, j'avais un répéteur WIFI connecté à la passerelle, et l'ordinateur avec le mac attribué était connecté à cela.

Le problème maintenant était que ma passerelle pensait que c’était l’ancien NAS alors que c’était l’autre terminal et attribuait l’adresse IP au répéteur WIFI. Il s’agissait d’un conflit IP, de sorte que scp ne pouvait pas trouver le bon emplacement. . Ce qui à son tour a entraîné un accès refusé sur scp. Bizarrement, tout s'est bien passé, je pouvais accéder à Internet, surfer sur Internet, envoyer du courrier, mais avec scp, cela a donné lieu à un conflit.

Changé dans la passerelle (enlevé la table DHCP), et assigné une autre adresse IP au terminal ...

Maintenant, la commande scp fonctionnait comme avant!

Il m'a fallu 8 heures pour le comprendre, alors j'ai pensé à partager ce petit hickup qui peut vraiment vous frustrer de vous faire foutre le cul ...

Greets Pi @ir

0
user5748909