要运行sudo我需要强制tty,但我不能在后台分配一个,除非我说-t -t
。你有没有机会解释它的区别是什么?
#fails
ssh -t host1 'sudo command' &
ssh -t host2 'sudo command' &
wait
以上失败“失败,你必须运行tty”和
#works
ssh -t -t host1 'sudo command' &
ssh -t -t host2 'sudo command' &
wait
的作品?这是不是意味着tty内的tty?
答案 0 :(得分:0)
ssh
的手册页解释了:
-t
强制伪终端分配。这可用于在远程机器上执行任意基于屏幕的程序,这可能非常有用,例如,实现菜单服务时。 多个-t
选项强制tty分配,即使ssh没有本地tty。
如果在后台运行该命令,则本地tty将不会保持与命令的连接,因此不会使用单个-t
远程分配。另一方面,使用两个-tt
将最终强制分配。