Die normale Art, eine Verbindung zu einem SSH-Server herzustellen, ist ssh username@ip_address
. Ein Benutzer möchte jedoch möglicherweise nur ein Programm auf dem Remotecomputer ausführen. Der Programmname folgt also nach dem normalen Argument ssh username@ip_address <program_name>
. Zum Beispiel ssh username@ip_address ls
. Dieses Argument ist in Ordnung, mit Ausnahme interaktiver Programme (die auch Benutzereingaben akzeptieren und Ausgaben bereitstellen), z top
. Die Ausgabe ist
TERM-Umgebungsvariable nicht festgelegt.
Dies bedeutet, dass kein (Pseudo-) Terminal zwischen dem sshd- und dem top-Programm angeschlossen ist. Die Lösung besteht darin, ein Argument hinzuzufügen, -t
bei dem der gesamte Befehl jetzt wird ssh -t username@ip_address top
.
Meine Frage ist, warum sshd nicht standardmäßig auch ein Pseudo-Terminal für die Kommunikation mit nicht interaktiven Programmen verwenden kann, sodass das -t
Argument für interaktive Programme nicht hinzugefügt werden muss.
RequestTTY yes
(oder force
).
top
kann im Batch - Modus ausgeführt werden .