2016-12-07 34 views
1

我完全陌生的SSH和放浪所以这可能是一个很小白的问题..流浪没有连接到私有IP地址

我试图连接到专用IP地址的流浪者通过定义像下面我的服务器:

config.vm.define "server" do |server| 
    server.vm.network "private_network", ip: "192.168.1.10" 
    server.vm.network :forwarded_port, guest: 3000, host: 3000 
    server.vm.synced_folder "./sync_folder", "/vagrant" 
    end 

之后,做了所有的流浪汉起来的命令和一切。 但是当我在命令行上颠沛流离的ssh-配置类型..

Host server 
    HostName 127.0.0.1 
    User ubuntu 
    Port 2222 
    UserKnownHostsFile /dev/null 
    StrictHostKeyChecking no 
    PasswordAuthentication no 
    IdentityFile /Users/xxxx 
    IdentitiesOnly yes 
    LogLevel FATAL 

它返回一个本地IP地址,而不是我想要的私有IP地址。我不明白为什么..

+0

这是非常相似的关于堆栈溢出的另一个问题 - > http://stackoverflow.com/questions/24036663/how-to-make-ip-address-for-vagrant-ssh-the-same-as-for -the-VM?RQ = 1 但答案似乎并没有为我 – sabrinazuraimi

回答

2

这是怎么了无业游民工作,实际上它会创建多个网络接口,这样你就不一定能看到从您的主机的期待之一。

如果你看看vagrant up命令的输出,你会看到下面的

... 
==> default: Waiting for machine to boot. This may take a few minutes... 
    default: SSH address: 127.0.0.1:2222 
... 

这么清楚,SSH,在到VM它采用环回地址的端口22

,如果你转到VM,并期待网络接口

enp0s3 Link encap:Ethernet HWaddr 02:58:f3:11:f2:f2 
      inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 
      inet6 addr: fe80::58:f3ff:fe11:f2f2/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:22381 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:10950 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:17387008 (17.3 MB) TX bytes:690514 (690.5 KB) 

enp0s8 Link encap:Ethernet HWaddr 08:00:27:1f:f8:27 
      inet addr:192.168.33.10 Bcast:192.168.33.255 Mask:255.255.255.0 
      inet6 addr: fe80::a00:27ff:fe1f:f827/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:3 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:522 (522.0 B) TX bytes:648 (648.0 B) 

第一接口是NAT,这是一个使用流浪汉通信(SSH)主机和th之间e虚拟机,所以这一个绑定与给定端口上的主机回送(默认情况下这是22,但如果你有多个VM运行,流浪将定义另一个端口)

第二个接口是你有接口从Vagrantfile设置并分配了IP。

你可以说,vagrant ssh-config不显示所有网络接口的属性,但实际上这是只左右,以这种方式输出是正确的SSH特性。如果你想获得网络属性,你需要查看虚拟机

PS:最后一点,如果你为你的虚拟机分配一个私有IP,你不需要转发端口,因为你会到达虚拟机直接使用其IP。

+0

我看行!谢谢你的答案,几乎花了一个小时试图解决一个不存在的问题.. – sabrinazuraimi