• 締切済み

コマンドプロンプトのキー入力処理に自動的に入力する方法について

Rsyncを使ってLinuxからWindowsにファイルのコピーを使用と考えているのですが、 その際に、接続するときにパスワードの入力を求められるので、 自動化したいと考えています。 証明書を利用する方法以外で起動中のコマンドプロンプトに割り込み入力する方法など 考えているのですが、なかなかうまくいきません。何か別の方法でもよいので、良い方法はないでしょうか。 バッチプログラムとしては下記のとおりです。 --------------------- SET USER=test SET SERVERNAME=192.168.255.2 SET BACKUPDIR=/etc/backup/ SET BACKUPAFTER=backup rsync -avz -e ssh --delete %USER%@%SERVERNAME%:%BACKUPDIR% %BACKUPAFTER% > log --------------------- バッチプログラム実行時の待ちプロンプトが下記です。 このプロンプトが表示されたときに自動でパスワードを入力する方法がわかりません。 backup@10.44.202.24's password: 宜しくお願いします。

みんなの回答

  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.2

>下記のようにコマンドを記載したのですが、エラーがでてしまいます。 rsynで使えるプロトコルは、rsync rsh ssh とありますが、sshについては 「sshプロトコルを使うのが必須で、かつ、証明書を使わないのであれば、パスワード入力は必須」と書いたとおりです。 他のプロトコルについては、 「-e rsh でrshプロトコルを使うか、-e無しでrsyncプロトコルを使うかすれば出来そうです。 rshなら、Linux側で~/.rhostsファイルを使う。 rsyncなら、--password-file=FILE オプションを使う。」 と書いたとおりです。--password-file オプションはrsyncプロトコル専用です。rsyncデーモンと接続します。

すると、全ての回答が全文表示されます。
  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.1

sshプロトコルを使うのが必須で、かつ、証明書を使わないのであれば、パスワード入力は必須ですよね。vbscriptでsendkeysでウィンドウへのキー入力シミュレートをすることも出来ますが、ウィンドウの内容を見ないでタイミングを計りながらなので、危ういですね。 -e rsh でrshプロトコルを使うか、-e無しでrsyncプロトコルを使うかすれば出来そうです。 rshなら、Linux側で~/.rhostsファイルを使う。 rsyncなら、--password-file=FILE オプションを使う。

football10
質問者

お礼

notnotさん ご回答ありがとうございます。 rsyncにPasswordオプションがあったんですね。 見落としていました。 下記のようにコマンドを記載したのですが、エラーがでてしまいます。 何か制限などあるのでしょうか。 ■コマンド rsync -avz --password-file=pass.txt -e ssh --delete %USER%@%SERVERNAME%:%BACKUPDIR% %BACKUPAFTER% > log ■エラーメッセージ The --password-file option may only be used when accessing an rsync daemon. rsync error: syntax or usage error (code 1) at main.c(1230) [receiver=3.0.2] 続行するには何かキーを押してください . . .

すると、全ての回答が全文表示されます。

関連するQ&A