ssh没有'vagrant ssh'的流浪盒

时间:2016-01-05 15:00:44

标签: ubuntu ssh vagrant

我使用

创建了一个新的流浪盒
vagrant init ubuntu/trusty64
vagrant up

我想在不使用“vagrant ssh”

的情况下进行此操作

盒机的ifconfig给了我

eth0      Link encap:Ethernet  HWaddr 08:00:27:ca:3e:f9
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:feca:3ef9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:254 errors:0 dropped:0 overruns:0 frame:0
          TX packets:187 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:26220 (26.2 KB)  TX bytes:22208 (22.2 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

我试过

ssh vagrant@10.0.2.15

“谁”在框中给出了

vagrant  pts/0        Jan  5 14:46 (10.0.2.2)

所以我试过

ssh vagrant@10.0.2.2

但都没有用!

ping都不适用于此ips

3 个答案:

答案 0 :(得分:4)

首先,您无法访问NAT网关后面的IP。您需要使用NAT网关的IP地址和转发端口访问服务器,默认情况下,对于vagish中的ssh,该端口为2222。你还需要告诉ssh它应该使用vagrant的不安全的私钥

ssh -i ~/.vagrant.d/insecure_private_key -p 2222 vagrant@localhost

vagrant ssh命令旨在隐藏这种复杂性。

如果您同时启动了多个流浪盒,或者您已明确选择了与2222不同的端口,则需要使用实际使用的端口。您可以使用:

找到它
vagrant ssh-config

答案 1 :(得分:1)

要永久创建主机别名,您可以在〜/ .ssh / config中添加一个类似于以下内容的条目:

Host my-vagrant-box
     User vagrant
     HostName localhost
     Port 2222
     IdentityFile /Users/atesgoral/Sandbox/my-vagrant-box/.vagrant/machines/default/virtualbox/private_key
     IdentitiesOnly yes

然后你就可以做到:

ssh my-vagrant-box

确定映射到guest虚拟机上SSH端口的主机端口(Vagrant框):

vagrant port --guest 22

In this repo,您可以找到一个shell脚本,您可以使用Vagrantfile在目录中运行该脚本。它将生成一个可以附加到〜/ .ssh / config:

的主机条目
./ssh-config.sh >> ~/.ssh/config

答案 2 :(得分:0)

我找到了解决方案

在Vagrantfile中

取消注释此行

config.vm.network :private_network, ip: "192.168.33.10"

然后你可以使用

来ssh
ssh vagrant@192.168.33.10