SSH経由で接続するRSyncジョブをセットアップしたい。
コンピューター(backup @ myhost)とリモートホスト(test @ remhost)があり、フォルダー〜/ somethingをすべての内容でバックアップする必要があります。sshユーザーテストには、〜/フォルダー内のすべてのファイルとフォルダーへの読み取りアクセス権のみがあります。rsyncを使用してtest @ remhost:〜/ somethingフォルダーをbackup @ myhost:〜/ bakフォルダーにコピーしたい。
この目的のために、Ubuntu 11.10(Oneiric)でBASH経由で次のコマンドを使用します。
rsync -avz -e ssh test@remhost:~/something/ ~/bak/
Enterキーを押した後、これを取得します。
test@remhost's password:
パスワードを入力すると、rsyncが機能します。
上記のコマンドを作成して、パスワードを自動的に入力してパラメーターとして渡すか、自動的に入力してジョブを開始します。
実行してみた rsync -avz -e ssh test:password@remhost:~/something/ ~/bak/
が、まだパスワードの入力を求められ、迷惑です。
どんな種類のキー(RSA、DSAまたはその他)についても聞きたくありません。ログインして仕事をする簡単なコマンドが欲しいだけです。
編集:公開キー認証が無効になっていて、これを変更できない場合、考えられるシナリオがあります。たとえば、OpenSSHを使用する場合、ファイルを編集してsshd_config
を追加するには、サーバーのルート権限が必要PubkeyAuthentication yes
です。
編集:これは最終的に私のために働いたものです:
sshpass -p 'sshpassword' rsync --progress -avz -e ssh test@remhost:~/something/ ~/bak/
この方法は、パスワードをプレーンテキストで送信し、中間者攻撃に対して脆弱であるため、安全とは見なされないことに注意してください。セキュリティを強化するために、キー認証を使用することをお勧めします。