我如何将自己的公钥添加到Vagrant VM?

问题描述 投票:64回答:11

我在向Vagrant VM添加ssh密钥时遇到问题。基本上,我在这里的设置工作正常。创建虚拟机后,我可以通过vagrant ssh访问它们,用户“ vagrant”存在,并且在authorized_keys文件中有该用户的ssh密钥。

我现在想做的是:能够通过ssh或使用scp连接到这些VM。因此,我只需要将我的公钥从id_rsa.pub添加到authorized_keys-就像我对ssh-copy-id一样。

是否可以在设置过程中告知Vagrant我的公共密钥应包括在内?如果没有(根据我的Google搜索结果,这很可能),是否有一种方法可以在无业游民设置期间轻松附加我的公钥?

我在向Vagrant VM添加ssh密钥时遇到问题。基本上,我在这里的设置工作正常。一旦创建了VM,我就可以通过vagrant ssh访问它们,用户“ vagrant”存在,并且...

ssh vagrant public-key
11个回答
38
投票

复制所需的公钥将直接进入provisioning阶段。确切的答案取决于您喜欢使用哪种配置(shell,Chef,Puppet等)。最琐碎的是密钥的file预配器,与此类似:


0
投票

Madis Maenni的答案最接近最佳解决方案:


-1
投票

生成用于流浪身份验证的rsa密钥对$ grep -E '^Host' ~/.ssh/config Host web Host db $ ssh web [vagrant@web ~]$


64
投票

您可以使用Ruby的核心File模块,如下所示:


33
投票

[完成您想做的事的方式更“优雅”。您可以找到现有的私钥并使用它,而不必麻烦添加公钥。


9
投票

我最终使用了类似的代码:


9
投票

[这个很好的答案是由user76329rejected Suggested Edit中添加的


8
投票

更简短,更正确的代码应该是:


1
投票

这是一个很好的主题,可以帮助我解决原始海报所描述的类似情况。


1
投票

对于内联外壳供应商-公钥通常包含空格,注释等。因此,请确保在扩展为公钥的var周围加上(转义)引号:


1
投票

[较早的帖子都没有为我工作,尽管有些接近。我必须在终端中使用keygen来制作rsa密钥,然后使用自定义密钥。换句话说,由于使用Vagrant的键而失败。

© www.soinside.com 2019 - 2024. All rights reserved.