2011-10-25 10 views
3

私はJenkins Serverに自動的にアクセスさせるためにbitbucketにGITリポジトリを持っています。これは、公開鍵/秘密鍵の認証を使用してのみ可能です。そこで私は鍵ペアを作成し、公開鍵をbitbucketにアップロードしました。公開鍵と秘密鍵は、jenkinsを実行しているtomcatユーザの.sshフォルダにある私のサーバ上にあります。そのユーザーとしてサーバーにログインしているときにプロジェクトをクローンできるようになりました。jenkinsからgit bitbucketリポジトリにログインするには

しかし、私はジェンキンを実際にbitbucketからコードをチェックアウトすることができません。それは常に言う:

Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

は、まあ、私はSSH経由でリポジトリにアクセスするとき、私はこれを自動的に行うことができない私の秘密鍵とジェンキンスのパスフレーズを提供する必要があるため、この問題が発生することを前提としています。私は次の内容を含む.sshフォルダ内の設定ファイルを提供することで、パスフレーズを聞かbeeingて回避することが可能であることを読んで:

Host bitbucket.org 
    IdentityFile ~/.ssh/id_dsa 

私はノーとすぐに私は私ができる、そのファイルを提供してそうしましたが、 bitbucketからリポジトリを長く複製してください。上記のエラーメッセージと同じエラーメッセージが表示されます。

誰でもこの設定作業を行うことができましたか?私はまた、私には役に立たなかったstackoverflow上の次のスレッドを読む:How do i set a private ssh key for hudson/jenkins to access bitbucket?と私は、実際には "whoami"を実行する空のテストプロジェクトを作成してtomcat6の下で実際に実行されることを確認した。だから私は問題を解決するためのアイデアからかなり外れています。

答えて

4

設定でIdentityFileを指定しても、sshキーのパスワードを指定する必要はありません。もしそうならば、それは大きな穴になるだろう。 ssh鍵にパスワードを指定する必要がない唯一の方法は、ssh鍵にパスワードがない場合です。

あなたのjenkinsインスタンス専用のsshキーを作成する必要があります。Bitbucketで許可されている場合は、そのキーのリポジトリへの読み取り専用アクセスのみを許可します。

+0

ありがとうございました。それは本当に問題を解決しました。 – ali

+0

@ali、もしjenkinsが読み取り専用アクセスしか必要としないのであれば、sshを使うよりリポジトリにアクセスする他の方法はありませんか? – jamessan

+0

ジェンキンgitプラグインは他の方法を提供しません。 – ali

関連する問題