通过SSH连接到计算机的私钥必须由运行Vagrant的用户拥有

时间:2016-03-12 22:23:39

标签: ssh vagrant

我正在尝试遵循这个流浪教程。我的前两个命令后出错了。我从命令行

编写了这两个命令
$ vagrant init hashicorp/precise64
$ vagrant up

运行vagrant up命令后,我收到此消息。

The private key to connect to the machine via SSH must be owned
by the user running Vagrant. This is a strict requirement from
SSH itself. Please fix the following key to be owned by the user
running Vagrant:

/media/bcc/Other/Linux/vagrant3/.vagrant/machines/default/virtualbox/private_key

然后如果我运行任何命令,我会得到同样的错误。即使我运行vagrant ssh,我也会收到相同的错误消息。请帮我解决问题。

我正在使用linux薄荷并使用虚拟盒子。

2 个答案:

答案 0 :(得分:5)

正如错误消息告诉您的那样:

  

必须拥有通过SSH连接到计算机的私钥   由运行Vagrant的用户。

因此请使用

检查文件的权限
stat /media/bcc/Other/Linux/vagrant3/.vagrant/machines/default/virtualbox/private_key

使用

检查您正在运行的用户
id

whoami

然后修改文件的所有者:

chown `whoami` /media/bcc/Other/Linux/vagrant3/.vagrant/machines/default/virtualbox/private_key

请注意,如果您的/ media / bbc /是某些不支持Linux权限的非Linux文件系统,则可能无法执行此操作。在这种情况下,您应该为您的私钥选择更合适的位置。

答案 1 :(得分:1)

Jakuje有正确答案 - 如果您正在处理的文件系统支持更改所有者。

如果您尝试将流浪盒安装在NTFS之外,则无法更改密钥文件的所有者。

如果你想在NTFS上挂载文件而你正在运行一个本地实例,你可以尝试以下对我有用的文件:

  

Vagrant Halt

[删除流浪盒]

[将以下行添加到Vagrantfile]

config.ssh.insert_key=false

[**您可能需要再次删除并克隆项目]

  

流浪拨款

此解决方案可能不适合实时实例 - 它使用默认的不安全ssh密钥。如果您需要更高的安全性,可以在https://www.vagrantup.com/docs/vagrantfile/ssh_settings.html

找到更可口的灵魂