要远程运行交互式程序,应该使用ssh -t <host>
.但这个-t
选项也有缺点,所以不适合在非交互式程序上使用它。
我的问题是:我有几台机器。其中一些用于交互式程序,另一些用于非交互式程序。所以我必须准确地记住哪些需要-t
。是否可以添加此内容~/.ssh/config
以便我不必记住它?
基本上我想要的是这样的:
Host interactive
HostName example.com
User user
Option "-t"
答案1
您正在寻找的选项是RequestTTY
.从 ssh_config 手册页:
请求TTY
指定是否为会话请求伪终端。参数可以是以下之一:“no”(从不请求 TTY)、“yes”(当标准输入是 TTY 时始终请求 TTY)、“force”(始终请求 TTY)或“auto”(请求 TTY)打开登录会话时)。该选项反映了-t和-Tssh(1) 的标志。
force
等价于-tt
, 并且yes
等价于-t
Host interactive
HostName example.com
User user
RequestTTY yes