无法SSH进入stream浪虚拟机

安装在主机10.0.0.23 lamp-vm IP地址为10.0.0.23本地stream量计算机。

使用vagrant ssh命令,我可以连接就好,尽我所能。

这会产生一个错误

$ ssh vagrant @ lamp-vm -v -v

debug1:连接到地址10.0.0.23端口22:连接超时
ssh:连接主机灯-vm端口22:连接超时

我的/etc/hosts文件包含10.0.0.23 lamp-vm

我的.ssh / config文件看起来像

主灯 – 虚拟主机
用户stream浪者
IdentityFile〜/ .ssh / vagrant

我已经尝试了带/不带-i /path/to/.sh/identity_file的ssh命令。

如何使用SSH连接到我的Vagrant虚拟机?

我也遇到了这个问题,这是我的最终configuration,允许我从主机的任何地方进入我的stream浪机器。

Vagrantfile:

 ... # Setting up private_network to have virtual host config.vm.network :private_network, ip: "192.168.33.10" # Enable ssh forward agent config.ssh.forward_agent = true ... 

ssh进入机器:

 ssh [email protected] 

你会被提示input密码(默认是stream浪):

 [email protected]'s password: 

而繁荣,你在!

PS *您可以在主机中的任何地方使用scp:

 scp /path/to/src/file [email protected]:/path/to/destination/file 

此行为是devise使然。

Vagrant使用VirtualBox NAT模式 ,这意味着使用端口转发。

您无法使用NAT模式直接SSH连接到您的虚拟机。

使用“stream浪ssh”意味着stream浪者会为你做端口转发,所以你不必担心。 我想它会默认连接到2222端口上的本地主机,但它也会尝试排除任何端口号码冲突。

如果您需要直接SSH到您的虚拟机,请将虚拟机切换到仅主机或桥接networking模式。

我会添加这个作为评论,但我目前没有足够的代表这样做。 我已经写了一个如何将您的虚拟机设置为桥接模式:

https://askubuntu.com/questions/116861/setting-up-a-network-between-a-host-and-guest-virtual-machine/116909#116909

我希望你觉得这个有用!

Windows / Vagrant / Ubuntu

这对我来说是很有效的,你可以通过在ssh客户端上运行这个工具来快速找出这个工作是否正常。

ssh [email protected] -p 2222 -v

-v会将其置于详细模式并显示debugging信息…

$ ssh [email protected] -p 2222 -v
OpenSSH_7.1p1,OpenSSL 1.0.2e 2015年12月3日
debug1:连接到127.0.0.1 [127.0.0.1]端口2222。
debug1:build立连接。
debug1:身份文件/home/Jamie/.ssh/id_rsatypes1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/home/Jamie/.ssh/id_rsa-certtypes-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/home/Jamie/.ssh/id_dsatypes-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/home/Jamie/.ssh/id_dsa-certtypes-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/home/Jamie/.ssh/id_ecdsatypes-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/home/Jamie/.ssh/id_ecdsa-certtypes-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/home/Jamie/.ssh/id_ed25519types-1
debug1:key_load_public:没有这样的文件或目录
debug1:身份文件/home/Jamie/.ssh/id_ed25519-certtypes-1
debug1:启用协议2.0的兼容模式
debug1:本地版本stringSSH-2.0-OpenSSH_7.1
debug1:远程协议版本2.0,远程软件版本OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6
debug1:match:OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6 pat OpenSSH_6.6.1 * compat 0x04000000
debug1:authentication为127.0.0.1:2222为“stream浪”
debug1:发送SSH2_MSG_KEXINIT
连接由127.0.0.1closures

所以… SSH2_MSG_KEXINIT意味着密钥正在被交换。 这很快就会失败

在这种情况下,我删除了我的密钥,并在虚拟机上重新生成密钥。 ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html

$ ls -al / etc / ssh / ssh 密钥
$ sudo rm -r / etc / ssh / ssh密钥
$ sudo dpkg-reconfigure openssh-server

一旦我的密钥重新生成,我就能SSH进入我的stream浪者箱子。

这是旧的,但没有答案,我会提供一个。 命令:

 vagrant ssh 

是等价的

 ssh vagrant@localhost -p 2222 -i .vagrant/machines/default/virtualbox/private_key 

这是默认行为,如果你适当地改变了一些改变命令。 首先,stream浪者将在您的访客信箱中创buildstream浪用户,并且您将使用该用户ssh。 正如前面的人们所说的那样,默认情况下(默认情况下,当你看到消息被显示时),它会将来自主机端口2222的stream量转发给客户端的端口22。 最后,Vagrant为ssh会话创build密钥,所以您不必这样做,所以当通过ssh连接时需要提供公钥作为参数。

如果还有什么需要请告诉我。

销毁虚拟机
重新加载虚拟机
一切正常

不知道为什么,但明显的东西没有正确加载第一次供应。

看看这个评论: https : //github.com/mitchellh/vagrant/issues/1936#issuecomment-21139674

基本上,即使在使用私人networking时,stream浪者仍然在127.0.0.1上执行ssh。 试试这个ssh命令@ 127.0.0.1而不是你的私有ip /主机名。