2016-08-19 22 views
1

私はジェンキンズから始めていますが、rsync経由でリモートマシンに接続するのに問題があります。jenkinsシェルスクリプトからrsyncを実行

jenkinsは、どのssh識別ファイルを使用するのかわかっているかもしれませんが、それを解読する方法はわかりません。他の質問から、私はGtk警告がおそらく "enter keyphrase"を開くことができないという理由で収集したものです。

rsync -azvh /var/lib/jenkins/workspace/ofen [email protected]_server:/my_project/ofen 
No protocol specified 

(ssh-askpass:19928): Gtk-WARNING **: cannot open display: :0 
Host key verification failed. 
rsync: connection unexpectedly closed (0 bytes received so far) [sender] 
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.0] 

コマンドラインから試してみるとすべてうまく動作します。

答えて

4

JenkinのSSHエージェントの一部としてキーをロードする必要があります。

  1. 1が
  2. が仕事上のSSHエージェントを有効にして、それをSSHキーを使用する資格

物事を与える使用されている場合は、パスフレーズを含む資格証明書/ SSH秘密鍵を経由してジェンキンスにプライベートキーを追加します。エージェントはロードされたキーを使用できるようになりました。

+0

私はSSHエージェントプラグインをインストールしました。最初は秘密鍵を資格情報ダイアログに直接追加しようとしましたが、動作しませんでした。 $ JENKINS_HOME/.sshにssh-keyをコピーし、このディレクトリを使用するように資格情報の設定を変更しました。今それは動作します。 – Saskia

0

「アイデンティティ」は、あなたの仕事はを実行しているによって異なります

  • マスター上で動作しているとき、それは、それはあなたのユーザースレーブにジェンキンス
  • を実行し、ユーザーのですあなたはユーザーsascha.ssh/authorized_keysファイルへのアイデンティティの公開鍵を追加する必要がスレーブ

を接続するために使用します。これにより、公開鍵ベースの認証が可能になり、rsyncはうまく動作するはずです。

関連する問題