2016-08-23 56 views
0

我想SSH到命令行特定的流浪汉框:流浪 - 不能SSH到特定机器的命令行

vagrant ssh winbox password 

“WINBOX”是出现什么框“被称为流浪箱列表“。然而,在该命令的进入我得到:

The machine with the name 'winbox' was not found configured for 
this Vagrant environment. 

如果我只是做“流浪者的ssh”这一切工作正常,所以我敢肯定,我发现了盒子的名字拼错了。在盒子的流浪文件中出现相同的盒子名称:

Vagrant.configure("2") do |config| 
config.vm.box = "winbox" 
config.ssh.username = "vagrant" 
config.ssh.password = ****** 
config.vm.network :forwarded_port, guest: 4444, host: 4440 
config.vm.network :forwarded_port, guest: 5555, host: 5555 
end 

是否有任何方法检查当前正在运行的vagrant盒的名称?

因为我基本上是使用Java在JUNIT测试中执行命令行代码,所以我在一行中全部登录到框中,这一点很重要,并且不可能先去流浪ssh,然后用它输入密码。

回答

0

当您启动新VM时,您只需要盒子名称信息。

因此,无论是在运行vagrant init winbox还是更改Vagrantfile中的参数config.vm.box时。

已初始化VM(vagrant up),您可以对箱忘记之后,你不需要它了(它仍然需要存在于你的Vagrantfile但你不引用它了)

如果您在Vagrantfile中运行单个虚拟机,则只需运行vagrant ssh即可进入虚拟机。

,你是什么困惑的vagrant ssh <VMName>是,当你在这种情况下,单一Vagrantfile会旋转的多个虚拟机运行vagrant multi-machine所以,你需要指明的VM(不是框)的名称ssh到正确的VM

+0

嗨,正如我在我的文章中所说,重要的是我用一行登录到框中,因为我用于与命令行进行交互的工具并未真正提供密码输入。那么有什么方法可以在你运行'vagrant ssh'的同一行输入你的密码? –

+0

你在你的Vagrantfile(参数'config.ssh.password')中有密码,所以你不需要在我的命令行 –

+0

中输入它,vagrant每次都要求我输入密码。 –