我正在尝试为Vagrant编写一个配置脚本,将所有软件源都提取到计算机上。
但是,很快,我发现我需要SSH密钥来执行此操作。
我想重用现有的密钥。
使用config.ssh.forward_agent
选项,可以将这些密钥转发给Vagrant来宾。
在配置脚本中,我还创建了一个用户(就像生产环境一样)。 有了这个用户,我想把源代码拉到它的主目录。
但是,我发现这种密钥转发在这种情况下不起作用。
现在,我发现只有vagrant
用户可以访问这些密钥!!
这是必须预料的吗?有没有办法解决这个问题? 我可以将密钥转发给我的特定访客用户吗? 或者我应该与流浪者用户进行所有配置?然后添加用户,移动东西并将其chown给新用户?
答案 0 :(得分:0)
Vagrant默认使用用户vagrant
运行其操作。
因此,当您运行provision时,将使用用于SSH的用户vagrant
。
如果您想使用其他用户名,则需要在第一个vagrant up
之前在您的包装盒上存在该用户名,并设置config.ssh.username
。
您还可以执行以下操作:
config.ssh.username
设置添加到Vagrantfile
vagrant reload
现在Vagrant应该使用新用户进行提供
但是我不推荐第二种方法,因为它包括手动步骤。