Vagrant Laravel Homestead SSH认证失败

5
在 Laravel Homestead 运行 vagrant provision 命令时,我收到了 SSH authentication failed! 的错误信息,并且 Vagrant 实例无法运行。

SSH authentication failed! 通常是由于 SSH 用户的公钥/私钥对未正确配置在虚拟机上而导致的。

看起来这个问题是从第一次配置 homestead 时出现的。
==> default: tee: /home/vagrant/.ssh/authorized_keys: No such file or directory
2个回答

10

Homestead.yaml 中将默认文件夹映射到 /home/vagrant 导致了问题。

这是我的文件夹设置:

folders:
    - map: /Users/username/www
      to: /home/vagrant

添加一个深层文件夹修复了问题:

    folders:
        - map: /Users/username/www/homestead
          to: /home/vagrant/www

工作中 :)

也许有人能够详细说明为什么会发生这种情况?


3
问题在于如果你仅挂载到/home/vagrant,就会覆盖“vagrant”用户的主文件夹,因此它将无法访问任何自己的文件,特别是点(.)文件。 因此像 .ssh 目录等内容将不可用或不可写。就像该用户的主文件夹被清空一样。该用户是系统的默认用户,并且是 Homestead 脚本尝试复制密钥的用户。将目录向下移动使主文件夹在挂载共享文件夹时可用。 - noeldiaz

0

你是否将你的SSH密钥设置到正确路径了?

authorize: <SSH KEY PATH TO YOUR PRIVATE KEY>

keys:
    - <SSH KEY PATH TO YOUR PRIVATE KEY>

如果您没有正确设置它们,它就无法连接

编辑 您不应该将项目与根文件夹匹配,因为它会将Homestead存储库与您的/home/vagrant/路径匹配


是的,SSH密钥已正确设置。问题很奇怪,实际上是由于文件夹映射直接到/home/vagrant导致的。添加一个文件夹深度解决了这个问题。干杯! - Bradley Flood
肯定不是私钥的两倍。 - markus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接