同步来宾主文件夹时权限被拒绝(公钥)
Permission denied (publickey) when syncing guest home folder
我看到很多人都遇到了这个错误,但 none 显然是出于与我相同的原因。在我的情况下解释原因会很有用。
将此添加到我的 vagrant 文件后:
config.vm.synced_folder "./home", "/home/vagrant"
我在使用 vagrant ssh
时遇到以下错误:
vagrant@127.0.0.1: Permission denied (publickey)
当我删除 synced_folder 行时,错误不再显示并且 vagrant ssh
工作正常。
发生了什么,为什么我不能这样做?
当您将来宾配置为在 /home/vagrant
处有一个同步文件夹时,它会用同步文件夹的内容覆盖整个文件夹。 Vagrant 将它的密钥放在 ~/.ssh/authorized_keys
文件中,这允许它通过 ssh 进入来宾。
我的个人设置如下:
config.vm.synced_folder "./code", "/home/vagrant/code"
这样您就可以在根目录中创建一个新目录,而不会覆盖 ssh 密钥文件。
希望这对您有所帮助,此致。
A HACK:
您也可以先在主机中创建 .ssh/authorized_keys
。
然后运行vagrant ssh-config
得到你私钥的位置。
然后 运行 ssh-keygen -y -f ${your private key}
得到你的 public 钥匙。
最后,将内容复制到主机.ssh/authorized_keys
。不要忘记附加 vagrant
.
我看到很多人都遇到了这个错误,但 none 显然是出于与我相同的原因。在我的情况下解释原因会很有用。
将此添加到我的 vagrant 文件后:
config.vm.synced_folder "./home", "/home/vagrant"
我在使用 vagrant ssh
时遇到以下错误:
vagrant@127.0.0.1: Permission denied (publickey)
当我删除 synced_folder 行时,错误不再显示并且 vagrant ssh
工作正常。
发生了什么,为什么我不能这样做?
当您将来宾配置为在 /home/vagrant
处有一个同步文件夹时,它会用同步文件夹的内容覆盖整个文件夹。 Vagrant 将它的密钥放在 ~/.ssh/authorized_keys
文件中,这允许它通过 ssh 进入来宾。
我的个人设置如下:
config.vm.synced_folder "./code", "/home/vagrant/code"
这样您就可以在根目录中创建一个新目录,而不会覆盖 ssh 密钥文件。
希望这对您有所帮助,此致。
A HACK:
您也可以先在主机中创建 .ssh/authorized_keys
。
然后运行vagrant ssh-config
得到你私钥的位置。
然后 运行 ssh-keygen -y -f ${your private key}
得到你的 public 钥匙。
最后,将内容复制到主机.ssh/authorized_keys
。不要忘记附加 vagrant
.