Ich bin auf Maschine A und möchte eine Datei von Maschine B abrufen.
A$ scp <myuserid>@hostB:<path of file in B> .
es steht dass:
scp: <path of file in B>: No such file or directory
Auf Computer B ist diese Datei jedoch in diesem Pfad vorhanden.
Was läuft falsch?
Antworten:
Sie haben keine Datei angegeben: Sie müssen die Datei (mit Pfad) nach dem Doppelpunkt einfügen:
oder
für einen Pfad relativ zu Ihrem Home-Verzeichnis.
Wenn Sie keinen anderen Benutzer angeben (dh der Benutzer in A und B ist derselbe), benötigen Sie den nicht
@
quelle
Dies funktioniert nur, wenn Sie eine Datei kopieren. Wenn Sie ein Verzeichnis kopieren möchten, verwenden Sie
Wahl, die Sie auf Ihre Nachfrage verwenden können
-P Port
Gibt den Port an, zu dem eine Verbindung auf dem Remote-Host hergestellt werden soll. Beachten Sie, dass diese Option mit einem Großbuchstaben "P" geschrieben ist, da -p bereits für die Beibehaltung der Zeiten und Modi der Datei in rcp reserviert ist.
-p
Behält die Änderungszeiten, Zugriffszeiten und Modi der Originaldatei bei.
-r
Kopiert rekursiv ganze Verzeichnisse.
-v
Ausführlicher Modus. Bewirkt, dass scp und ssh Debugging-Meldungen über ihren Fortschritt ausgeben. Dies ist hilfreich beim Debuggen von Verbindungs-, Authentifizierungs- und Konfigurationsproblemen.
quelle
Verwenden Sie den richtigen SCP-Pfad
quelle
Sie können entweder einen Dateipfad angeben, der relativ zu Ihrem Basisverzeichnis ist, oder einen absoluten Dateipfad. Wenn Sie sich beispielsweise
foo.txt
in einem Verzeichnis befinden, dasdocs
unter Ihrem Basisverzeichnis aufgerufenbar.txt
wird/var/tmp
, und sich in befindet , können Sie dies tunBeachten Sie, dass Sie, wenn der Dateiname Zeichen enthält, die für die Remote-Shell spezifisch sind (normalerweise Leerzeichen oder
!"#$&'*;<>?[\]^`{|}~
), diese für die Remote-Shell maskieren müssen und für die lokale Shell maskieren müssen. Wenn die Datei beispielsweise aufgerufen wirdfoo bar.txt
und sich in Ihrem Ausgangsverzeichnis befindet:Wenn Sie Probleme mit Dateien haben, die Interpunktionszeichen enthalten, versuchen Sie, diese mit zu übertragen ,
sftp
anstattscp
sie zu verwenden. Oder verwenden Sie eine noch bequemere Methode, wenn Sie FUSE verwenden können : Hängen Sie das Dateisystem des Remote-Computers mit sshfs ein und verwenden Sie dann normale Dateibearbeitungsbefehle.quelle
Man kann einfach in beide Richtungen SCP, wenn man den DMZ-Benutzer und das Passwort hat. Sie befinden sich auf Ihrem lokalen Rechner: Von der DMZ zu Ihrem lokalen Linux-Rechner (Pull). Bedeutet, dass Sie abc.text in folder2 auf Ihre aktuell angemeldete PWD kopieren.
Es wird nach dem Passwort gefragt
das ist alles
Jetzt möchten Sie einen Ordner senden, der Unterordner und Dateien von Ihrem lokalen Computer an DMZ sendet:
usr @ localmachine: ~ / abc / defs> scp -r ordner / usr @ 111111: vkrishna / docker /
Es wird erneut nach dem Passwort gefragt
: ist der Stammordner des entfernten Rechners und vkrishna ist ein Ordner dort & wieder Docker-Unterordner. Lokal defs Ordner hat einen Ordner mit dem Namen "Ordner", den wir vollständig übertragen möchten.
Wie / abc / defs / folder
quelle