2009-12-12 20:49:15 +0000 2009-12-12 20:49:15 +0000
30
30

Wie lädt man eine Datei von der Kommandozeile mit FTP oder SSH hoch?

Ich habe dies noch nie getan und ich erstelle ein Bash-Shell-Skript, um dies für mich zu tun. Ich werde mich auch über ssh verbinden, um einige Dinge zu tun (was ich bereits weiß, wie man es macht). Gibt es also vielleicht eine Möglichkeit, Dateien über ssh hochzuladen, so dass ich alles in einer Verbindung erledigen kann?

Wie kann ich das machen?

#!/bin/sh

cd ./files-to-upload
#upload the files

Antworten (7)

56
56
56
2009-12-12 20:53:32 +0000

Sie können scp verwenden, um auf einen entfernten Rechner zu kopieren.

scp <file to upload> <username>@<hostname>:<destination path>
6
6
6
2009-12-12 20:57:38 +0000

Sie suchen wahrscheinlich nach SCP oder ähnlichem.

#!/bin/bash

cd ./files-to-upload
scp * user@host:/path/to/upload/files/to

Das muss natürlich nach Ihren Wünschen angepasst werden.Ersetzen Sie user@host durch Ihre echten Daten. Zum Hochladen werden Sie zur Eingabe eines Passworts aufgefordert.

4
4
4
2009-12-16 12:08:36 +0000

Wenn Sie wirklich ssh (anstelle von scp) verwenden müssen, können Sie das tun:

for filename in *; do
  cat $filename | ssh user@host "cd /path/to/upload/files/to; cat - > $filename"
done

, aber reguläres scp (wie tangens Vorschlag) ist das Beste.

1
1
1
2009-12-13 07:15:17 +0000

scp ist die bessere Antwort, da es über SSH verschlüsselt werden würde.

Wenn Sie es jedoch über Standard-ftp machen wollen, schauen Sie sich ncftpput an. Es ist speziell für das Hochladen einer Datei gedacht:

NAME ncftpput - Internet-Dateiübertragungsprogramm für Skripte

SYNOPSIS ncftpput [options] remote-host remote-directory local-files…

0
0
0
2015-09-04 18:22:34 +0000

Wenn Sie den Befehl scp (sichere Kopie) verwenden, wird eine Verbindung zum Client hergestellt, und wenn Sie nicht bereits einen Fingerabdruck für das Host-Gerät gespeichert haben, werden Sie nach dem Host-Passwort gefragt, andernfalls sollte eine automatische Verbindung zum Host hergestellt werden, glaube ich.

0
0
0
2009-12-16 12:43:45 +0000

curl ist ein gutes Programm, das mit mehreren Protokollen umgehen kann.

0
0
0
2019-02-21 08:22:05 +0000

Für die ec2-Instanz müssen Sie auch die Datei .pem übergeben,

$scp -i ~/Desktop/amazon.pem ~/Desktop/file.zip ubuntu@ec2-54-166-128-20.compute-1.amazonaws.com:~/data/