这应该是一个简单的问题。
我在那里有一个流浪箱,我可以vagrant ssh
不用密码开始访问它。
我如何才能远程执行 ssh 命令来获取如下所示的结果,以便在 jenkins CI 服务器中检查某些内容。
$ vagrant ssh 'who -a'
我的环境
- Vagrant 0.8.7
- Ubuntu 11.04(主机)
答案1
以下内容应该有效;有关更多信息man vagrant
,请查看man ssh
和man who
。
vagrant ssh -c "who -a"
答案2
您还可以使用以下命令查看vagrant ssh
命令背后的 ssh 配置:
vagrant ssh-config
笔记:只有您这样做之后,此操作才会起作用vagrant up
。
然后在自己的 ssh 命令中使用 ip、端口、密钥等:
ssh -i /path/to/vagrant/keyfile vagrant@ip:port who -a
答案3
要在 Jenkins 中执行复杂命令,我更喜欢以下语法
vagrant ssh -- who -a
其中“--”后面的所有内容都作为命令传递到 VM 的 shell。
从http://docs.vagrantup.com/v2/cli/ssh.html:
如果在命令行上发现 --(两个连字符),则其后的任何参数都会直接传递到 ssh 可执行文件中。