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 -t
onde 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 -t
argumento para programas interativos?
RequestTTY yes
(ou force
) na sua configuração.
top
pode ser executado em modo batch.