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

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

我正在尝试遵循这一点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 Mint 并且也在使用 Virtual Box。

答案1

错误消息很清晰,并给出了解决方案。您需要将所有权设置为private_key当前用户。

在正常情况下以下命令就足够了:

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

但是,就你的情况而言,很可能(因为/media)你将项目放在了外部磁盘上。如果你使用的文件系统不支持权限,那么你必须检查

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

vagrant up并以文件所有者列出的用户身份运行或将您的项目移动到其他地方并正确分配权限。

答案2

如果你使用 NTFS 存储 Vagrant 文件,请请参阅我的回答解决所有权+许可问题。

相关内容