Normalny sposób połączenia z serwerem SSH to ssh username@ip_address. Ale użytkownik może chcieć uruchomić program tylko na zdalnym komputerze. Więc nazwa programu następuje po normalnym argumencie, którym jest ssh username@ip_address <program_name>. Na przykład ssh username@ip_address ls. Ten argument jest w porządku, z wyjątkiem programów interaktywnych (które również akceptują dane wejściowe użytkownika, a także zapewniają dane wyjściowe) np top. Dane wyjściowe to
Zmienna środowiskowa TERM nie jest ustawiona.
co oznacza, że żaden (pseudo-) terminal nie jest podłączony między programami sshd i top. Rozwiązaniem jest dodanie argumentu w -tmiejscu, w którym teraz staje się całe polecenie ssh -t username@ip_address top.
Moje pytanie brzmi: dlaczego sshd domyślnie nie może również używać pseudo-terminala do komunikacji z programami nieinteraktywnymi, więc nie ma potrzeby dodawania -targumentu dla programów interaktywnych?
RequestTTY yes(lub force) w swojej konfiguracji.
topmoże działać w trybie wsadowym.