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
バッチモードでも実行できます。