LoginSignup
18
15

More than 5 years have passed since last update.

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

Posted at

JenkinsからSSHでLinux(CentOS7)サーバーのsudo操作をするとき

例えば、
Jenkinsさんに
「Linuxサーバーに繋いで、

sudo systemctrl restart httpd

なんかを実行してもらいたい!」

しかし、sudoでやるコマンドなんて彼には恐れ多いのか、頑なにやってはくれない。。。
そんな彼にどうにかやってもらうための方法。
(かなり大雑把なやり方なので細かく権限をわけたいのであればもうちょっとググったほうがいいです)

ttyが無い

  • sudo: sudo を実行するには tty がなければいけません。すみません

すいませんとかいらないから解決策を言ってほしい。

Linuxにログイン

(rootユーザで)
visudo

sudoersが編集状態になるので、

/etc/sudoers
 Defaults requiretty
 ↓
 # Defaults requiretty

しかし解決せず…。↓

askpassが指定されてない

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

詳細にムリと言われた(すいませんとは言われなくなった)。

Linuxにログイン

(rootユーザで)
visudo

sudoersが編集状態になるので、

/etc/sudoers
(一番下に追加)
ssh_user ALL=(ALL) NOPASSWD:ALL
  • 「ssh_user」は適宜自分のJenkinsさんからSSH接続するときのユーザ名に合わせてください。

  • すでにある場合は↑のように変更。

ちなみに、これは

ssh_user さんは パスワード無しでrootと同じこと全部できるぜ!
という強気の設定です。

重ねて言いますが
かなり大雑把なやり方なので細かく権限をわけたいのであればもうちょっとググったほうがいいです!

18
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
15