我遇到了一個棘手的情況,我需要透過 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
選項,以便您知道正在與哪個會話交談。