我遇到了一个棘手的情况,我需要通过 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
选项,以便您知道正在与哪个会话交谈。