サーバー上のPuTTY
で、private key
とパスフレーズを使用して正常に認証できます。しかし、jenkins SSH経由で公開プラグイン(構成にテストを使用)でそれを実行しようとすると、次のエラーメッセージが表示されます。
jenkins.plugins.publish_over.BapPublisherException: Failed to connect session for config myconfig. Message [Auth fail]
PuTTYと同じ情報を入力しました。
ホスト名:myhostname
ユーザー名:myusername
リモートディレクトリ:
パスワード認証を使用するか、別のキーを使用するパスフレーズ/キーへのパスワードパス:チェック済み
キーへのパス:mypath
パスフレーズ:mypasssword
キー:
ポート:22
Timeout(ms):30000
何かアイデアがあれば...助けてくれてありがとう。
キーファイル認証を使用しているように見えるため、.ssh
フォルダーや~/.ssh/authorized_keys
ファイルに権限を正しく設定していない場合、Jenkinsからこのエラーが発生します。
.ssh
フォルダーにはdrwx------
権限が必要です(所有者の読み取り/書き込み/実行のみ)authorized_keys
ファイルには-rw-------
権限が必要です(読み取り/書き込み所有者のみ)それを修正するには:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
今日同じ問題が発生しましたが、誤って秘密鍵ではなく公開鍵へのパスを指定していたことが判明しました。
したがって、「キーへのパス」は次のようになります。
.ssh/id_rsa
の代わりに
.ssh/id_rsa.pub
Linuxログインにはパスワードが必要なため、答えは:
1. Passphrase: your passphrase
2. path to key: your private key path
3. key : blank
4. Disable exec : un-check
SSHサーバー
1. Name: [email protected]
2. hostname: remotehost.com
3. Username: remote_user
4. Remote Directory: empty
詳細-
5. check the box "use passsword authentication, or use a different key"
`important`
6. Passphrase / Password: your linux login password`important`
7. path to key: blank
8. key:blank
9. port: 22
10. Timeout(ms): 300000
'テスト構成'成功
ターゲットサーバーがjenkinsサーバーと同じであっても、公開鍵がターゲットサーバーの.ssh/authorized_keys
ファイルにあることを確認します。おそらく同じ問題があり、ssh localhost
は正常に機能していましたが、これが必要であることがわかりました。
(補遺:jenkinsサーバーの.ssh/known_hosts
ファイルにターゲットサーバーがあることも確認してください。これも影響を受ける可能性があります。)
これは認証の問題だと思います。
パスワード認証を使用するか、別のキーを使用してください このオプションを選択すると、JenkinsSSHキーで使用可能なオプションを反映した構成ボックスがさらに3つ生成されます。
パスフレーズ/パスワードキーへのパスまたはキーのいずれかが構成されている場合、これは暗号化されたキーで使用するパスフレーズです。 キーが設定されていない場合、これはパスワード認証に使用されるパスワードです。
キーへのパス 上記の説明を参照してください。
キー 上記の説明を参照してください。
Execを無効にする このオプションは、この構成を使用してコマンドを実行する機能を削除します。
私は同じ問題に直面しています、次の手順は私のために働きます:-(私はjenkins1.57を使用しています)
成功
リモートサーバーのsshを再起動してみてください
/etc/init.d/sshd restart