不能`ssh`进入私人网络

时间:2014-03-04 21:36:36

标签: ssh vagrant

鉴于以下Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "centos_64"
  config.vm.host_name = 'web'
  config.vm.network "private_network", ip: "192.168.50.4"
end

为什么我不能从主持人那里抨击客人?

$ ssh vagrant@web -p 22
ssh: connect to host web port 22: Connection timed out

但使用vagrant ssh有效:

$ vagrant ssh
Last login: Tue Mar  4 21:29:24 2014 from 10.0.2.2
[vagrant@web ~]$

正如预期的那样,我可以ping来宾的IP地址。但我不能从主机ping。

我很困惑为什么会发生这种情况,因为我的设置与configuration没有什么不同。

4 个答案:

答案 0 :(得分:3)

首先,vagrant ssh使用转发的端口而不是专用网络地址。您可以使用vagrant ssh-config进行配置。

名称“web”是否真正解析为指定的IP?你能使用IP而不是名称ping /连接吗?如果没有,请确认您没有其他具有相同地址的VM或外部网络。还有一些VPN产品搞砸了路由。

答案 1 :(得分:1)

我设法用

更改了ssh地址
config.ssh.host = '192.168.0.13'
config.ssh.port = '22'`

https://superuser.com/questions/920536/how-to-change-the-ssh-host-in-vagrantfile/921728#921728

中所述

答案 2 :(得分:0)

仅仅因为来宾主机具有已定义的主机名并不意味着主机将解析其IP。

你应该能够通过以下方式进入机器:

ssh vagrant@192.168.50.4   <====  vagrant is the default password,

但你可以通过这样做来避免输入:

ssh-copy-id vagrant@192.168.50.4

答案 3 :(得分:0)

这是我的配置,对我有用

  config.vm.box = "ubuntu/xenial64"
  config.vm.network "private_network", ip: "192.168.88.88"
  config.ssh.host = "192.168.88.88"