それで、サーバーからロックアウトされてしまいました (sshd が応答を停止したようです)。リバース シェルを取得しました (リバース シェルを提供する jenkins ジョブを追加しました) が、問題が発生しました。su はターミナルを必要とし、実行を拒否します。
では、su を非対話的に実行する方法、または通常のユーザー アカウントにエスカレートする他の方法はあるのでしょうか?
答え1
つまり、私が屈服してこの質問をしたとき、十分にグーグル検索していなかったことが判明しました。
答えはこうですhttps://serverfault.com/a/495154/68820言って走る
python -c 'import pty; pty.spawn("/bin/sh")'
リバース シェルの内部では、pty が取得されます。
これを行うと、通常のユーザーに su して、sshd を再起動することができました。
答え2
sudoを試してください。これは現代的な(そしてより安全な)方法です。
次のようなコマンドがあります:
echo "password"|su - -c "command"
echo -e "password\n"|su - -c "command"