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

FTPやSSHでコマンドラインからファイルをアップロードするには?

私はこれまで一度もやったことがないので、私のためにこれを行うための bash シェルスクリプトを作成しています。また、いくつかのことをするために ssh 経由で接続する予定です (これはすでに方法を知っています)。そこで、もしかしたらssh経由でファイルをアップロードする方法があるかもしれないので、1つの接続ですべてを行うことができるのでしょうか?

どうすればいいのでしょうか?

#!/bin/sh

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

回答 (7)

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

scpを使用してリモートマシンにコピーすることができます。

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

おそらくSCPかそれに類するものを探しているのでしょう。

#!/bin/bash

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

もちろんこれはあなたの好みに合わせて調整する必要があります。アップロードするためのパスワードの入力を求められます。

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

どうしてもsshを使わなければならない場合は(scpの代わりに)sshを使うことができます。

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

しかし、通常の scp ( tangens 提案のような) がベストです。

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

SSHで暗号化されているので、scpの方が良い答えです。

しかし、もし標準の ftp でやりたいのであれば、ncftpput を見てください。これはファイルをアップロードすることに特化して設計されています。

NAME ncftpput - スクリプト用インターネットファイル転送プログラム

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

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

あなたが scp (セキュアコピー)コマンドを使用するとき、それはクライアントに接続し、あなたがまだホストデバイスのために保存された指紋を持っていない場合、それはホストのパスワードを尋ねてきますが、そうでなければ、それはホストに自動接続する必要があります。

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

curl はいくつかのプロトコルを扱う良いプログラムです。

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

ec2 のインスタンスの場合は、.pem ファイルも渡さなければなりません。