为多个Vagrant机器使用相同的ssh密钥

时间:2015-10-03 16:32:18

标签: ssh vagrant

我正在尝试使用Vagrant设置两个虚拟机,其中一个需要能够使用私钥ssh到第二个虚拟机。

我在一个vagrantfile中定义了两个VM,启动它们然后将私钥从.vagrant目录复制到我的第一个VM中。然后,我能够在没有密码的情况下进入第二个虚拟机。

问题是这不稳定,每次我vagrant up时,Vagrant都会回复此密钥并创建一个新密钥。这显然打破了从第一个VM到第二个VM的ssh的能力,直到我再次复制私钥。

我并不特别关心Vagrant使用哪个密钥,我只是希望它是稳定的,这样我就可以在我的虚拟机之间进行ssh。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你有两种可能性:

  1. 每次启动VM时都有一个shell配置程序来复制新生成的密钥,所以基本上每次运行vagrant up时都会将ssh密钥复制到VM中,这样你仍然可以能够进入第二个虚拟机。

  2. 强制vagrant使用密钥,将以下参数添加到您将存储自己的自定义密钥的Vagrant文​​件中

    config.ssh.private_key_path = "custom_key_file"
    config.ssh.forward_agent = true
    
  3. 所以Vagrant在启动VM时会使用此密钥文件,您可以将此密钥复制到VM中以ssh到第二个