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

时间:2014-05-12 00:09:43

标签: ssh vagrant vagrantfile

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

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

这是我对已安装共享的原始配置,它可以运行:

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

这是我尝试更改的内容,但在vagrant reload之后它没有工作(要求我输入密码):

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

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

1 个答案:

答案 0 :(得分:34)

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

Makio对于 / vagrant 是默认的共享文件夹是正确的。除了 / home / vagrant 文件夹之外,您几乎可以共享任何文件夹。我亲自了解这一点,因为我遇到了你所遇到的同样问题。通过允许Vagrant控制 / home / vagrant 文件夹,可以正确设置权限,以便 vagrant ssh 正常运行。

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

c0p