我一直在使用Vagrant设置环境,我遇到了vagrant ssh
命令的问题。
当我在Vagrantfile中更改已安装的共享文件夹的路径并执行vagrant reload
时,如果没有它要求我输入密码,我将无法vagrant ssh
。
这是我对已安装共享的原始配置,它可以运行:
config.vm.synced_folder "./", "/home/vagrant/shared"
这是我尝试更改的内容,但在vagrant reload
之后它没有工作(要求我输入密码):
config.vm.synced_folder "./", "/home/vagrant"
文件中的其他内容保持不变。知道这里发生了什么吗?
答案 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