- blogs:
- cles::blog
2009/02/10

sudoが「sudo: sorry, you must have a tty to run sudo」と文句を言うときは

あるサーバから別のサーバにあるバッチをsshとsudoを組み合わせて使ってキックしようとしたら、sudoが下記のようなメッセージを吐いて実行できませんでした。
sudo: sorry, you must have a tty to run sudo
古いマシンだと同じことをしても怒られないので、最近のRHELやCentOSはsudoの設定が変わってTTYがないとsudoが実行できなくなっているのだろうと予想して、/etc/sudoserをのぞいてみると下記のような行がありました。このDefaults requirettyをコメントアウトすると上記の警告が出ずにじ実行できるようになりました。
/etc/sudoers(一部のみ)
#
# Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
# You have to run "ssh -t hostname sudo <cmd>".
#
Defaults requiretty
† よりよい解決方法
あまりコメントを読まずに設定を変更してしまったのですが、設定の直上にコメントがあり、これはパスワードが見えてしまうのを防ぐための設定のようなのであまり設定を変更することは好ましくないようです。僕の使っているサーバは、元々パスワード認証は使っていないので特に問題ないと思っているのですが、本筋的にはsshに-tオプションをつけて実行してあげるというのがこの問題への正しい対処方法のようです。sshのmanにも-tをつけると強制的にttyを割り当てるという旨の説明が書かれていました。
man ssh(1)
-t
Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g., when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2919
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . Thunderbird のメッセージをスレッド化しないようにする(4522)
2 . Word で数式がグレーアウトされていて挿入できないときは(3352)
3 . Windows 10 で勝手にログアウトされないようにする(2980)
4 . Firefox でパスワードが保存されるページとされないページの違い(2519)
5 . シャープの空気清浄加湿器のキュルキュル音は PTFE スプレーで(2320)
2 . Word で数式がグレーアウトされていて挿入できないときは(3352)
3 . Windows 10 で勝手にログアウトされないようにする(2980)
4 . Firefox でパスワードが保存されるページとされないページの違い(2519)
5 . シャープの空気清浄加湿器のキュルキュル音は PTFE スプレーで(2320)
cles::blogについて
Referrers