SSH no servidor secundário e execute vários comandos com massa


0

Tenho massa configurada para conectar ServerA. Uma vez, preciso conectar-me ServerBe executar outros comandos nele.

Na minha caixa de texto de comandos remotos em massa, tenho o seguinte:

ssh testuser@192.168.1.114; sudo -u dev -H sh -c "touch ~/test.txt"

O primeiro comando funciona, mas não importa o que eu coloquei após o ponto-e-vírgula, nada mais será executado. Alguma coisa sobre o SSH está descartando ... Eu posso executar quantos comandos quiser se deixar de fora a parte do SSH.

Não posso usar a configuração de proxy intermediário no programa, pois a configuração do servidor a bloqueia.


O sudocomando deve ser executado 192.168.1.114? Se assim for, então remover o ponto e vírgula antes que ele, como atualmente ele será executado no servidor que você está SSHing de
Paul

Respostas:


1

O ponto e vírgula não faz o que parece ser tentado.

O ponto e vírgula separa os comandos. Portanto, no serverA, a primeira coisa que acontece é executar

ssh testuser@192.168.1.114

Depois que o ssh for concluído (talvez devido a uma falha no login completo), o comando restante será executado no serverA.

sudo -u dev -H sh -c "toque ~ / test.txt"

No seu exemplo específico, verifique serverA para ~ dev / test.txt

Para realizar o que você está procurando fazer, basta remover o ponto e vírgula. Não seria bom se todos os problemas fossem resolvidos com tanta facilidade?


Eu acho que a principal diferença aqui é entre comandos e entrada de teclado .
grawity

uau, eu não posso acreditar quanto tempo eu gastei em algo tão trivial .... obrigado!
john cs
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.