Vagrant config.ssh.forward_agent = true仅适用于流浪者用户?

时间:2014-09-04 10:36:42

标签: ssh vagrant

我正在尝试为Vagrant编写一个配置脚本,将所有软件源都提取到计算机上。 但是,很快,我发现我需要SSH密钥来执行此操作。 我想重用现有的密钥。 使用config.ssh.forward_agent选项,可以将这些密钥转发给Vagrant来宾。

在配置脚本中,我还创建了一个用户(就像生产环境一样)。 有了这个用户,我想把源代码拉到它的主目录。

但是,我发现这种密钥转发在这种情况下不起作用。 现在,我发现只有vagrant用户可以访问这些密钥!!

这是必须预料的吗?有没有办法解决这个问题? 我可以将密钥转发给我的特定访客用户吗? 或者我应该与流浪者用户进行所有配置?然后添加用户,移动东西并将其chown给新用户?

1 个答案:

答案 0 :(得分:0)

Vagrant默认使用用户vagrant运行其操作。 因此,当您运行provision时,将使用用于SSH的用户vagrant

如果您想使用其他用户名,则需要在第一个vagrant up之前在您的包装盒上存在该用户名,并设置config.ssh.username

您还可以执行以下操作:

  1. 像现在这样提供机器(并创建新用户)
  2. 将来自vagrant用户主目录的.ssh目录复制到新用户的主目录
  3. 将新用户添加到sudoers
  4. 使用新用户名
  5. config.ssh.username设置添加到Vagrantfile
  6. 运行vagrant reload
  7. 现在Vagrant应该使用新用户进行提供

    但是我不推荐第二种方法,因为它包括手动步骤。