20

我一直在尝试使用 Vagrant 设置环境,但我遇到了vagrant ssh命令问题。

当我更改 Vagrantfile 中已安装共享文件夹的路径并执行 a时,如果没有它要求我输入密码vagrant reload,我将无法再这样做。vagrant ssh

这是我对已安装共享的原始配置,它有效:

config.vm.synced_folder "./", "/home/vagrant/shared"

这是我试图更改的内容,但之后它不起作用vagrant reload(要求我输入密码):

config.vm.synced_folder "./", "/home/vagrant"

文件中的所有其他内容保持不变。知道这里发生了什么吗?

4

1 回答 1

34

注意这里实际发生的事情。当您共享/home/vagrant文件夹时,VM Provider(很可能是 VirtualBox)控制了该文件夹,并且权限全部被 VirtualBox 破坏。您将无法为.ssh文件夹设置 0700 权限,也无法为.ssh文件夹中的authorized_keys文件设置 0600 权限。因此,vagrant ssh命令将明确要求您输入密码,因为它无法检查.ssh文件夹中的公钥。

Makio 关于/vagrant作为默认共享文件夹是正确的。除了/home/vagrant文件夹之外,您几乎可以共享任何您想要的文件夹。我个人对此有所了解,因为我遇到了与您相同的问题。通过允许 Vagrant 控制/home/vagrant文件夹,可以适当地设置权限以使vagrant ssh正常运行。

很高兴它得到了解决,我希望我能更清楚地说明为什么这会给人们带来问题。

c0p

于 2014-05-21T06:20:57.730 回答