Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
16
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

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

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と同じこと全部できるぜ!
という強気の設定です。

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
16
Help us understand the problem. What are the problem?