リモートの Ubuntu に ssh で sudo でコマンドを実行しようとすると $ ssh user@server sudo ls -la user@server's password: sudo: no tty present and no askpass program specified というように怒られてコマンドを実行できません。 tty が割り当てられているか askpass プログラムが指定されているかのどちらかであれば実行できるようです。 今回はリモートから ssh で sudo コマンドを実行するので askpass プログラムで対応するのは難しそうです。 askpass 以外で調べてみたら回避方法がいろいろありました。 回避方法その1 tty が割り当てられるようにすれば良いようなので $ ssh -t user@server sudo ls -la user@se