GNU/Linux >> Linux の 問題 >  >> Linux

scp を使用してファイルを別のサーバーにコピーする

pssh や kanif など、ファイルを複数のホスト (同時接続) に scp できるさまざまなツールがあります。パスワードに関しては、エージェント転送を使用することをお勧めします。これにより、キーをローカル マシンに保持できますが、別のホストから SSH 接続を開始するときに使用できます。それ以外の場合、--askpass parallel-scp へのオプション pssh からのコマンドにより、すべてのホストで使用するパスワードを求めるプロンプトが表示されます。

これを行うためのツールをインストールできない場合は、エージェント転送をセットアップします (-A を追加して) ssh へのオプション これを実行しているマシンに接続するとき)、scp を実行します。 次のようなループで:

for HOST in server1 server2 server3; do
    scp somefile $HOST:~/somedir/
done

期待スクリプトでこれを試してみてください.

#!/bin/bash

HOSTS="h1.lan h2.lan h3.lan"

read -p "Password: " PASSWORD


for HOST in $HOSTS
do
    expect -c "
    spawn /usr/bin/scp file [email protected]$HOST:/destination_path/
    expect {
    "*password:*" { send $PASSWORD\r;interact }
    }
    exit
    "
done

上記は、要件に適応するためにかなり簡単です。


Linux
  1. SSHトンネリングを使用して制限付きサーバーにアクセスする方法

  2. リモートサーバーからローカルマシンにファイルをコピーする方法は?

  3. _roffを使用して単語に下線を付けますか?

  1. Scpを使用してローカルディレクトリXからリモートディレクトリYにファイルを転送しますか?

  2. クラウドサーバータグを使用する

  3. sshセッション内でscpを使用せずにファイルをコピーするには?

  1. RackspaceでCloudFlareを使用する

  2. ファイル名に / を使用できますか?

  3. Vagrant マシンからローカルホストにファイルをコピーする方法