连接到SSH服务器的正常方法是ssh username@ip_address
。但是用户可能只想在远程计算机上运行程序。因此,程序名称后跟普通参数ssh username@ip_address <program_name>
。例如,ssh username@ip_address ls
。除了交互式程序(还接受用户输入并提供输出)之外,该参数很好top
。输出是
TERM环境变量未设置。
这意味着sshd和top程序之间没有连接(伪)终端。解决方法是-t
在整个命令现在变为的地方添加参数ssh -t username@ip_address top
。
我的问题是,为什么默认情况下sshd也不能使用伪终端与非交互式程序进行通信,因此无需-t
为交互式程序添加参数?
RequestTTY yes
(或force
)。
top
可以批处理模式运行。