Es macht mich verrückt! Ich möchte nur eine einfache Datei vom Laptop auf den Server übertragen.
Ich benutze Ubuntu auf beiden Rechnern.
Also habe ich:
-rwxr-xr-x 1 sandro 414622 2011-10-14 23:42 sandrophoto-html.tar.gz
Und ich sende es mit:
sudo scp -P XXXX sandrophoto-html.tar.gz [email protected]:/media/xx/xx/xx
Und ich bekomme: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied
ps Möglicherweise mache ich es anders herum - ich möchte die Datei tar.gz, die sich auf meinem Desktop befindet, an den Remote-Server in den Ordner / media / yadayda senden
Antworten:
Nach meinem Verständnis haben Sie die Dinge in der richtigen Reihenfolge. Die allgemeine Art, wie ein scp durchgeführt wird, ist:
Ihrer Frage nach haben Sie eine lokale Datei, die Sie an den Zielserver senden möchten. Sie haben also die richtige Syntax, die gut ist!
Wenn Ihnen die Erlaubnis verweigert wird, verwenden Sie nicht den richtigen Benutzernamen oder etwas, was bei der Authentifizierung nicht stimmt. Wahrscheinlich liegt es daran, dass der Befehl sudo zunächst nur lokal funktioniert, sodass Sie auf der Remote-Box keinen Root-Zugriff haben. Das ist wahrscheinlich das Problem. Stellen Sie sicher, dass der Benutzer, mit dem Sie sich auf dem Remoteserver anmelden, über Schreibberechtigungen für den Speicherort verfügt, in den Sie schreiben möchten.
Wenn das Problem darin besteht, dass der Zielbenutzer ohne sudo keinen Zugriff auf diesen Speicherort hat, verschieben Sie die Datei in den Basisordner des Zielbenutzers, und verschieben Sie die Datei von der Shell auf dem anderen Server in den richtigen Speicherort.
quelle
Hallo, hatte das gleiche Berechtigungsfehlerproblem auf diese Weise gelöst
Stellen Sie sicher, dass das Verzeichnis, in das Sie kopieren,
192.168.0.4
dem Benutzer Benutzername gehörtAuf Ihrem lokalen Rechner dann tun
Prost
quelle
chmod
auf dem Zielordner auf dem Remote-Server verwendenBerechtigung verweigert bedeutet, dass Sie nicht der Stamm des Servers sind. Sie haben dort nur ein Konto. In diesem Fall müssen Sie Folgendes tun:
Dies wird in Ihr Home-Verzeichnis auf dem Server kopiert.
Dies wird auch funktionieren:
quelle
~/
ist in der Tat der Weg,-r
ist für das rekursive Kopieren des gesamten Verzeichnisses.Dieser Fehler trat bei mir auf, als die Datei bereits am Zielspeicherort vorhanden war und die vorhandene Datei nur Leseberechtigungen hatte (das Überschreiben der Datei wurde verhindert). In meinem Fall habe ich mich gerade angemeldet und die vorhandene Datei gelöscht, wodurch das Problem behoben wurde.
quelle
Ich hatte ein ähnliches Problem, es passierte, weil
ssh
Takes-p xxxx
zur Angabe des Ports undscp
Takes-P xxxx
zur Angabe des Ports benötigt wurden. Kleinere Inkonsistenzen, so leicht zu übersehen :(quelle
scp doesn't work Permission denied (publickey). lost connection for ec2 compute.amazonaws.com
Hatte das selbe Problem. Ich habe festgestellt, dass das Verzeichnis, in dem sich meine Quelldatei befindet , nicht über ausreichende Berechtigungen verfügt. Also habe ich den Modus nur rekursiv geändert, indem ich:
chmod -R 771 directory_path
auf dem Quellcomputer verwendet habe.quelle
Ich habe versucht, von meinem lokalen Computer zu kopieren
username@localhost
. Der von mir verwendete SSH-Schlüssel war nicht für den Zugriff auf meinen lokalen Host registriert, daher wurde mir die Erlaubnis verweigert. Wenn ich , dass aus dem entfernten Quelle Teil, es funktionierte.quelle