可以通过 ssh 不使用 -t 使用 screen 吗?

可以通过 ssh 不使用 -t 使用 screen 吗?

我遇到了一个棘手的情况,我需要通过 Jenkins 插件通过 SSH 连接到服务器。没有选项可以传递标志-t并让自己获得一个pseudo-tty会话,以便我可以使用screen.

除了建立嵌套的 SSH 会话之外,一旦已经连接,还有什么方法可以解决这个问题吗?

答案1

如果您想使用屏幕显示某些内容,您将需要一个终端。

如果您只想启动一个新会话,但不想显示它,请调用screen -m -d。会议开始时是分离的。

如果您只想与现有会话交互,请使用该-X选项向该会话发送命令。这不会附加到会话,也不需要终端。请注意,如果屏幕会话以分离模式启动,则其初始窗口不处于活动状态,因此您可能需要-p在执行任何操作之前选择窗口,例如

screen -d -m long-running-command
screen -p 1 -X stuff 'yes^M' 

无论您做什么,您可能都希望使用可重复的会话名称,并始终传递该-S选项,以便您知道正在与哪个会话交谈。

相关内容