2016-04-22 19 views
0

Forループを開始し、ホスト名を持つテキストファイルから読み取り、SCPを使用して各ホストにファイルを転送するシェルスクリプトがあります。非常に便利でしたが、パスワードプロンプトを処理する最善の方法は何ですか?サーバーに与えられた唯一の認証はユーザー名とパスワードでした。ファイルを転送するシェルスクリプト

今のところ、私は各サーバーに自分のパスワードを入力しなければなりませんでした。サーバー数が少ないので、これはデュオブルでしたが、将来的にはより良いソリューションを提供したいと考えています。どんな助けや提案も素晴らしいでしょう。

ありがとうございます!

答えて

1

ほとんどのサーバーも公開鍵認証をサポートしています。 Generate a keypairをローカルホストにコピーしてから、~/.ssh/id_rsa_pubをリモートホストの~/.ssh/authorized_keysにコピーします(または既に存在する場合は追加してください)。 ssh-agentを使用して秘密鍵をロックしているキーフレーズを扱います。

0

この種の対話型アクションの場合は、Expectスクリプトを使用できます。特定の文字列(f.e "username:")を想定してリモートコールを簡単に定義し、既知のパスワードを送信することができます。