ビルドエージェントのアカウントで Jenkins の SSH 経路を比較する
失敗した SSH ステップを実行するエージェント上で、ユーザー、有効な SSH 設定、ヘルパーのパスを確認します。対話的な root 実行に頼らないでください。
失敗した SSH ステップと同じエージェントアカウントとビルドコンテキストで次を実行します:
id -un
ssh -G deploy-targetdeploy-target をビルドが使う正確な SSH 名に置き換えます。得られた hostname、port、proxycommand を作業中の対話的起動と比較します。
| 確認する差分 | 影響 |
|---|---|
| OS ユーザーとホーム | ユーザーの SSH ファイルと権限を選択する |
| 宛先名 | Host セクションと取り込まれる設定を選択する |
| ProxyCommand の実行ファイル/パス | その環境でヘルパーを起動できるか を決定する |
| SSH コマンドラインオプション | 別の設定ファイルを選んだり値を上書きしたりできる |
差分が不明な場合は、詳細な SSH 診断でどのファイルが読まれたかを確認できます。JENKINS_HOME は Jenkins のデータ置き場であり、リモートエージェントのユーザー共通のホームディレクトリではありません。コマンドを実際に実行するマシンとアカウントに、意図した SSH 設定、認証、ホスト鍵データを用意してください。
Ncat の --proxy では、プロキシポートは外向きの宛先であり、ヘルパーがバインドするローカルリスナーではありません。root での成功だけでは、特権ポートの待ち受け問題を特定できません。