質問: パスワードを要求せずにssh経由でsudoコマンドを有効にする方法は? サーバーaとサーバーb(両方ともubuntu 10.04 lts)が異なるタスクを実行しています。サーバーaはサーバーbをポークする必要があります。サーバーbはファイルを生成し、完了したらそれをサーバーaにscpします。これはすべて社内で行われており、セキュリティの問題についてはあまり心配していません。 ssh鍵交換はサーバーaとbの間ですでに実行されており、正常に動作します。サーバーbでは、スクリプトgenerateofflinesigは次のようになります。#!/bin/bash echo "in script" sudo apt-offline set offline_package.sig --install-packages "$0" echo "after sudo" scp offline_package.sig jeff@servera:/tmp また、サーバーbでは、visudoに次のエントリがあります。 jeff all=nopasswd: all sudo lsサーバーbで...パスワードは要求されません。残念ながら、sshは常にサーバーaでパスワードを要求します。jeff@servera:~$ ssh -t jeff@serverb /home/jeff/generateofflinesig "incron" in script [sudo] password for jeff: 何か案は?このプロセスは、パスワード入力によって中断することはできません。
回答: /etc/sudoersファイルに「タイプミス」があったようです...jeff all=nopasswd: allファイルの最後にある必要があります。 buntuヘルプ のみファイルの終わりに追加(...)(最後にない場合は、後のエントリで無効にできる)その後、ローカルでもsshでも、「jeffのsudoコマンドをパスワードで要求されることはありません。