更改Vagrantfile会导致"vagrant ssh"提示输入密码?

Tom*_*mmy 20 ssh vagrant vagrantfile

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

当我在Vagrantfile中更改已安装的共享文件夹的路径并执行操作时vagrant reload,我再也无法在vagrant ssh没有它要求我输入密码的情况下.

这是我对已安装共享的原始配置,它的工作原理如下:

config.vm.synced_folder "./", "/home/vagrant/shared"
Run Code Online (Sandbox Code Playgroud)

这是我试图更改为,它后无法工作vagrant reload(请求我输入密码):

config.vm.synced_folder "./", "/home/vagrant"
Run Code Online (Sandbox Code Playgroud)

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

cOp*_*cOp 34

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

Makio对于/ vagrant是默认的共享文件夹是正确的.你可以分享你想要的任何文件夹,除了/ home/vagrant文件夹.我亲自了解这一点,因为我遇到了你所遇到的同样问题.通过允许Vagrant控制/ home/vagrant文件夹,适当地设置权限以使vagrant ssh正常运行.

很高兴它已经解决了,我希望我能更清楚地了解为什么这会给人们带来麻烦.

c0p