値が abc123&zxcv456 のパスワード変数 PASS があります。以下のパスワード変数を使用してJenkinsでSSHを実行しようとすると
sshpass -p ${PASS} ssh -o StrictHostKeyChecking=no [email protected] 'echo '${PASS}' | sudo -S docker stats --no-stream'
特殊文字&前の文字列のみが解釈され、PASS変数の値がabc123として読み込まれます。この問題を解決するのに役立ちますか?
PS:エスケープ文字「${PASS}」を使ってみましたが、役に立ちません。
答え1
Jenkins Pipelineに組み込まれた資格証明ストアを使用し、sshAgent
ステップSSHユーザー名/パスワードをsshコマンドに渡します。
Freestyle ジョブのジョブ構成 GUI にも同様のオプションがあります。
答え2
パスワードを次のように定義します。
abc123\&zxcv456