O seguinte deve funcionar; Para mais informações, confira man vagrant
, man ssh
e man who
.
vagrant ssh -c "who -a"
Deveria uma pergunta simples.
Eu tinha uma caixa vagrant lá, onde posso iniciar o vagrant ssh para acessar sem senha.
E como eu posso executar remotamente o comando ssh para obter algum resultado como abaixo, que pode ser usado no servidor de CI da Jenkins para verificar algo.
$ vagrant ssh 'who -a'
Meu ambiente
O seguinte deve funcionar; Para mais informações, confira man vagrant
, man ssh
e man who
.
vagrant ssh -c "who -a"
Você também pode usar o seguinte para ver a configuração do ssh por trás do comando vagrant ssh
:
vagrant ssh-config
Observação: isso só funcionará quando você usar vagrant up
.
Em seguida, use o ip, porta, chave, etc. em seu próprio comando ssh:
ssh -i /path/to/vagrant/keyfile vagrant@ip:port who -a
Para executar comandos complexos no Jenkins eu prefiro a seguinte sintaxe
vagrant ssh -- who -a
onde tudo após o '-' é passado como um comando para o shell da VM.
De link :
If a -- (two hyphens) are found on the command line, any arguments after this are passed directly into the ssh executable.