0

ファイルを圧縮してサーバーにアップロードするシェルスクリプトに取り組んでいます。

これまでのところ、サーバーのパスワードを要求し、その変数を保持しています。それが完了すると、スクリプトは多数のファイルを含むフォルダーを圧縮します。次に、「scp」コマンドを実行してサーバーに送信します。

さて、ここで助けが必要です...サーバーのパスワードを要求するときに、スクリプトで以前に提供されたパスワードを入力してもらいたいです。「scp」コマンドがパスワードを要求するときに、なぜパスワードを入力しないのかとあなたが尋ねていると確信しています。その理由は、私が持っているファイルが大きくなり、座って見たくないからです。それが私が早い段階でパスワードを提供する理由です。

手順は次のとおりです。

1) ユーザーは、変数「password」として保存されるサーバーパスワードを提供します

2) スクリプトはファイルを圧縮します

3)スクリプトはファイルをサーバーに送信します(スクリプトでこの部分を実行すると、パスワードが要求されます。ここにパスワード変数を入力する必要があります。)

これを行う方法についてのアイデアはありますか?どうもありがとう、ウィル、

4

1 に答える 1

0

ステップ 1 には、セキュリティ関連と技術的な両方の理由から、欠陥があります。

すべきことは、マスター接続を生成する「null」SSH セッションをバックグラウンドで作成することです ( man ページのControlPathおよびControlMasterオプションを参照してください)。ssh_config(5)後続の SCP 操作に同じ制御設定を使用すると、パスワードを要求することなくこの接続が使用されます。スクリプトが完了したら、null セッションを強制終了することを忘れないでください。

于 2012-08-31T18:13:14.187 に答える