Estou em uma situação um pouco complicada em que preciso me conectar a um servidor via SSH por meio de um plugin Jenkins. Não há opção de passar a -t
bandeira e conseguir uma pseudo-tty
sessão para que eu possa usar o screen
.
Existe alguma maneira de contornar isso, uma vez conectado, além de estabelecer uma sessão SSH aninhada?
Responder1
Se quiser usar a tela para exibir algo, você precisará de um terminal.
Se você deseja apenas iniciar uma nova sessão, mas não exibi-la, invoque screen -m -d
. A sessão começa desanexada.
Se você quiser interagir apenas com uma sessão existente, use a -X
opção de enviar um comando para essa sessão. Isso não é anexado à sessão e não requer um terminal. Observe que se uma sessão de tela foi iniciada no modo desanexado, sua janela inicial não estará ativa, então você provavelmente precisará selecionar a janela -p
antes de fazer qualquer coisa, por exemplo
screen -d -m long-running-command
screen -p 1 -X stuff 'yes^M'
Faça o que fizer, provavelmente desejará usar um nome de sessão reproduzível e sempre passar a -S
opção para saber com qual sessão está falando.