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

Jak przesłać plik z linii poleceń za pomocą FTP lub SSH?

Nigdy wcześniej tego nie robiłem i tworzę skrypt powłoki bash, aby zrobić to dla mnie. Będę również łączył się przez ssh, aby zrobić kilka rzeczy (które już wiem jak zrobić). Więc może istnieje sposób na przesyłanie plików przez ssh, więc mogę zrobić to wszystko w jednym połączeniu?

Jak mogę to zrobić?

#!/bin/sh

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

Odpowiedzi (7)

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

Możesz użyć scp do skopiowania na zdalny komputer.

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

Prawdopodobnie szukasz SCP lub czegoś podobnego.

#!/bin/bash

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

oczywiście to musi być dostosowane do twoich potrzeb.Zastąp user@host swoimi prawdziwymi danymi. Zostaniesz poproszony o hasło, aby przesłać dane.

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

Jeśli naprawdę musisz użyć ssh (zamiast scp) możesz zrobić:

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

ale najlepszy jest zwykły scp (jak w sugestii tangens ).

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

scp jest lepszą odpowiedzią, ponieważ byłoby to szyfrowane przez SSH.

Jednakże, jeśli chcesz to zrobić przez standardowy ftp, spójrz na ncftpput. Jest on zaprojektowany specjalnie do wysyłania plików:

NAZWA ncftpput - internetowy program do przesyłania plików dla skryptów

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

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

Kiedy używasz komendy scp (bezpieczna kopia), łączy się ona z klientem i jeśli nie masz jeszcze zapisanego odcisku palca dla urządzenia hosta, zapyta Cię o hasło hosta, w przeciwnym razie powinna automatycznie połączyć się z hostem, jak sądzę.

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

curl ](http://curl.haxx.se/docs/manual.html) jest dobrym programem, który obsługuje kilka protokołów.

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

Dla instancji ec2, musisz przekazać również plik .pem,

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