Il modo normale di connettersi a un server SSH è ssh username@ip_address. Ma un utente potrebbe voler eseguire solo un programma sul computer remoto. Quindi il nome del programma segue l'argomento normale che è ssh username@ip_address <program_name>. Ad esempio ssh username@ip_address ls,. Tale argomento va bene tranne che per i programmi interattivi (che accettano anche l'input dell'utente oltre a fornire output) ad es top. L'output è
Variabile d'ambiente TERM non impostata.
il che significa che nessun terminale (pseudo-) è collegato tra i programmi sshd e top. La soluzione è aggiungere l'argomento in -tcui l'intero comando ora diventa ssh -t username@ip_address top.
La mia domanda è perché sshd non può usare di default anche uno pseudo-terminale per comunicare con programmi non interattivi, quindi non è necessario aggiungere l' -targomento per i programmi interattivi?
RequestTTY yes(o force) nella tua configurazione.
toppuò funzionare in modalità batch.