SSHサーバーに接続する通常の方法はssh username@ip_addressです。しかし、ユーザーはリモートマシンでプログラムを実行したいだけかもしれません。したがって、プログラム名は、通常の引数の後に続きますssh username@ip_address <program_name>。たとえば、ssh username@ip_address ls。対話型プログラム(ユーザー入力も受け入れ、出力も提供する)を除いて、その引数は問題ありませんtop。出力は
TERM環境変数が設定されていません。
つまり、sshdとtopプログラムの間に(疑似)端末が接続されていません。解決策は-t、コマンド全体がになる引数を追加することssh -t username@ip_address topです。
私の質問は、なぜデフォルトではsshdも疑似端末を使用して非対話型プログラムと通信できない-tため、対話型プログラムの引数を追加する必要がないのですか?
RequestTTY yes(またはforce)設定できます。
topバッチモードでも実行できます。