質問: ssh:sudoコマンドを実行する 私はインタラクティブなシェルスクリプトを使用しており、ある場所で別のマシン(ubuntuベース)にsshしてrootとして何かを実行する必要があります(ユーザーはパスワードを入力する必要がありますが、リモートコマンドはスクリプトに記載されているように実行する必要があります)。# ... ssh remote-machine 'sudo ls' # ... ただし、私は常にこのエラーメッセージを受け取ります。sudo: no tty present and no askpass program specified わかりました。しかし、どうすればこれを回避できますか?このようなことが起こるはずです:$ ssh remote-machine 'sudo ls /' [sudo] password for user1: /bin /etc /var
回答: 不思議なsshには、すべての治療法があります。重要なのは、-tフラグを追加して、sshに疑似ttyを割り当てさせることです。ssh -t remote-server 'sudo ls'