A maneira normal de se conectar a um servidor SSH é ssh username@ip_address. Mas um usuário pode querer apenas executar um programa na máquina remota. Portanto, o nome do programa segue o argumento normal, que é ssh username@ip_address <program_name>. Por exemplo ssh username@ip_address ls,. Esse argumento é bom, exceto para programas interativos (que também aceitam entrada do usuário e também fornecem saída), por exemplo top. A saída é
Variável de ambiente TERM não definida.
o que significa que nenhum terminal (pseudo-) está conectado entre os programas sshd e top. A solução é adicionar argumento -tonde todo o comando se torna agora ssh -t username@ip_address top.
Minha pergunta é por que o sshd por padrão também não pode usar um pseudo-terminal para se comunicar com programas não interativos, para que não seja necessário adicionar o -targumento para programas interativos?
RequestTTY yes(ou force) na sua configuração.
toppode ser executado em modo batch.