web-dev-qa-db-ja.com

crontabでパスワードなしでsvn更新を行う方法

私はsvnとsshを初めて使用します。 crontabで3時間ごとにローカルシステムの5つのリポジトリのsvn更新を実行しようとしています。だから、これを達成するために私はセットアップをしましたssh passwordless login以下の手順を使用します。

  1. ssh-keygen
  2. ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
  3. やった ssh [email protected]

ここまでは問題なく動作します。パスワードなしでログインできます。しかし、私がやろうとするとSudo svn update 5つのリポジトリで、パスワードの入力を求められます。パスワードなしでsvnを更新する方法。 cronで3時間ごとにリポジトリを更新できる方法はありますか?.

this を参照しましたが、取得できませんでした。
使用しています

Ubuntu version : Ubuntu 13.04`         
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
2
user3004356

sshの資格情報はsvnとは何の関係もありません。更新するSubversionサーバーは、独自の資格情報を維持します。これは通常、svnクライアント自体によって保持されます。

Subversionサーバーへの認証の形式によって異なりますが、ほとんどの場合、ユーザーのホームディレクトリに保存されます。

$HOME/.Subversion/auth/svn.simple/

svn updateを実行すると、Subversion資格情報のキャッシュされたコピーをこの場所に保持するようにsvnに指示できます。クライアントはしばしばあなたのためにこれをします。

このTigrisSVNリポジトリからチェックアウトを行うには、次のファイルは次のようになります。

$ more ~/.Subversion/auth/svn.simple/1b0af524248084a040c5e6aa659031e2
K 8
passtype
V 6
simple
K 8
password
V 0

K 15
svn:realmstring
V 63
<http://svnwcrev.tigris.org:80> CollabNet Subversion Repository
K 8
username
V 5
guest
END

したがって、上記で説明したのと同様に、cronジョブを実行/所有するユーザーとしてsvn updateコマンドを実行し、このユーザーのアカウントに資格情報をキャッシュするだけです。

3
slm

もしあなたがそうするなら

Sudo ssh [email protected]

パスワードを入力する必要があることに気付くでしょう。最初にパスワードなしで機能することを確認してください(たとえば、~/.ssh/id_rsa秘密鍵を/root/.ssh/id_rsaに追加することによって)

Sudoを使用して更新を実行する必要があるようです。おそらくこれをrootのc​​ronジョブにする必要があります

0
Zelda