我在向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”存在,并且...
复制所需的公钥将直接进入provisioning阶段。确切的答案取决于您喜欢使用哪种配置(shell,Chef,Puppet等)。最琐碎的是密钥的file
预配器,与此类似:
Madis Maenni的答案最接近最佳解决方案:
生成用于流浪身份验证的rsa密钥对$ grep -E '^Host' ~/.ssh/config
Host web
Host db
$ ssh web
[vagrant@web ~]$
您可以使用Ruby的核心File模块,如下所示:
[完成您想做的事的方式更“优雅”。您可以找到现有的私钥并使用它,而不必麻烦添加公钥。
我最终使用了类似的代码:
更简短,更正确的代码应该是:
这是一个很好的主题,可以帮助我解决原始海报所描述的类似情况。
对于内联外壳供应商-公钥通常包含空格,注释等。因此,请确保在扩展为公钥的var周围加上(转义)引号:
[较早的帖子都没有为我工作,尽管有些接近。我必须在终端中使用keygen来制作rsa密钥,然后使用自定义密钥。换句话说,由于使用Vagrant的键而失败。