機能的なアカウントで Jenkins を実行しています。
プロキシ サーバーからのみアクセスできる複数のボックスで「echo blabla」を実行する必要がある場合があります。その場合、Jenkins は以下を実行します。
~/bin/sshpass -p'$userJumpServerPassword' ssh ${username}@$jumpServer ssh root@$targetBox echo blabla
userJumpServerPassword とユーザー名を指定すると、プロキシ サーバー上の個人アカウントに保存されている秘密鍵を使用して root@targetBox にログインするため、これはすばらしいことです。userJumpServerPassword はマスクされているため、この側面は無視してください。
私が言及しているもう 1 つのケースは、プロキシの背後にないサーバーに到達することです。私はそのようなことをしたい:
~/bin/supass -p'$localPassword' su $username -c ssh root@$targetBox echo blabla
Jenkins をローカルホストの個人アカウントに強制的に切り替えてから、秘密鍵を使用してターゲット ボックスに接続します (パスワードなし)。
そして、ここに私の問題があります。supass のような非対話的な方法で su を使用できるようにするものはありません。回避策はありますか?ssh を使用して localhost に接続するのはおかしいですね。