[Linux]sudoが使えなかったのでaskpassを設定して解決した

ssh経由でsudoを使う時に以下のエラー分が出ました。

sudo: 端末 (tty) が存在せず、パスワードを尋ねる (askpass) プログラムが指定されていません

その時の、対処方法です。

対策

rootユーザでログインして、/etc/sudoersを編集します。

$ visudo

最後に以下の行を追加 (ssh_userはユーザー名を入力)

ssh_user ALL=(ALL) NOPASSWD:ALL

NOPASSWDとあるように、パス無しで実行されます。

また、sshに"-t"オプションを付けるとよいです。

ssh -t (サーバ名) sudo (行いたいコマンド)
[sudo] password for (ユーザ名): (パスワード)

参考:

  • JenkinsからSSHでsudo操作するための設定

https://qiita.com/t_n/items/117d990c273b1d25a3a6

コメント

タイトルとURLをコピーしました