2014-12-10 06:52:20 +0000 2014-12-10 06:52:20 +0000
54
54

Wie lade ich eine lokale Datei über ein Linux-Terminal auf den Server hoch

Ich versuche, lokale Dateien mit Putty oder SSH auf den Server hochzuladen, komme aber nicht dorthin.

Gibt es eine direkte Methode, um eine Datei von einem Linux-Terminal von lokal auf den Server hochzuladen, ohne FTP usw. zu verwenden?

Antworten (3)

74
74
74
2014-12-10 08:16:06 +0000

Verwenden Sie scp (sichere Kopie) wie folgt:

scp [source file] [username]@[destination server]:.

Natürlich ersetzen Sie die eingeklammerten [source file], [username] und [destination server], damit sie Ihren lokalen Einstellungen entsprechen. Wenn die Datei also cool_stuff.txt lautet und Ihr Benutzername auf dem entfernten Server sanjeev und der Zielserver example.com ist, wäre der Befehl:

scp cool_stuff.txt sanjeev@example.com:.

Und die Quelle könnte auch entfernt sein, so dass Sie das Gegenteil des obigen Beispiels tun könnten:

scp sanjeev@example.com:cool_stuff.txt .

Dieser Befehl würde die entfernte Datei cool_stuff.txt in das lokale Verzeichnis kopieren, in dem Sie sich befinden. Und wenn Sie dies mit mehreren Dateien tun, verwenden Sie einfach einen Platzhalter (*) wie bei einem normalen cp-Befehl.

Außerdem gibt der Befehl . nur den unmittelbaren Verzeichnispfad an; z.B. den, in dem Sie sich gerade befinden, wenn Sie den Befehl ausführen, oder den unmittelbaren Pfad, den der entfernte Benutzer auf dem Zielserver hat. Sie könnten aber auch einen Pfad wie /this/path/right/here im Beispiel von lokal nach remote angeben:

scp cool_stuff.txt sanjeev@example.com:/this/path/right/here

Oder das Beispiel von remote nach lokal genau hier:

scp sanjeev@example.com:cool_stuff.txt /this/path/right/here

Wenn der Remote-Server kein SSH und nur SFTP erlaubt, dann ist SFTP der richtige Weg. Aber scp ist sehr nützlich, wenn Sie eine Datei einfach wegwerfen und nicht den gesamten SFTP-Prozess manuell von der Befehlszeile aus erledigen wollen.

14
14
14
2017-11-27 10:10:11 +0000

Wenn die Anmeldung am entfernten Server über den ssh-Schlüssel erfolgt, können wir die Flagge -i unten verwenden, um unseren Schlüssel an den Server zu übergeben:

scp -i /path/to/.ssh/id_rsa path/to/file/myFiles.gz myServer.com:/folder/on/server

-i identity_file Wählt die Datei aus, aus der die Identität (privater Schlüssel) für die Authentifizierung mit öffentlichem Schlüssel gelesen wird. Diese Option wird direkt an ssh(1) übergeben.

13
13
13
2017-03-02 16:41:23 +0000

Um zu Jakes Antwort hinzuzufügen, könnten Sie einen Speicherort - anstelle von nur . - zum Kopieren angeben, indem Sie den Pfad am Ende der URL wie folgt hinzufügen:

scp /path/to/file username@servername/ip:/destination/folder/