如何让 Vagrant 重置 SSH 密钥?

如何让 Vagrant 重置 SSH 密钥?

是否有一个命令可以用来让 Vagrant 重新生成一个用于 ssh 登录的新密钥,vagrant ssh或者我是否需要手动生成一个新密钥并将其插入 .vagrant 文件夹中的正确位置?

答案1

我做了以下操作,并且对我有用。

库存文件

#application servers
[app]
192.168.60.4 app1
192.168.60.5 app2

# Database server
[db]
192.168.60.6 db

# Group 'multi' with all servers
[multi:children]
app
db

# Variables that will be applied to all servers
[multi:vars]
ansible_ssh_user=vagrant
ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key

我的Vagrant 文件如下所示:

VAGRANTFILE_API_VERSION="2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # General Vagrant VM coniguration
  config.vm.box="geerlingguy/centos7"
  config.ssh.insert_key = false
  config.vm.synced_folder ".", "/vagrant",disabled: true
  config.vm.provider :virtualbox do |v|
    v.memory = 256
    v.linked_clone = true
  end

  #Application server 1.
  config.vm.define "app1" do |app|
    app.vm.hostname = "orc-app1-test"
    app.vm.network :private_network, ip: "192.168.60.4"
  end

  #Application server 2.
  config.vm.define "app2" do |app|
    app.vm.hostname = "orc-app2-test"
    app.vm.network :private_network, ip: "192.168.60.5"
  end

  #Database server 1.
  config.vm.define "db" do |app|
    app.vm.hostname = "orc-db-test"
    app.vm.network :private_network, ip: "192.168.60.6"
  end
  #ansible playbook provisioner
#   config.vm.provision"ansible"do|ansible|
#   ansible.playbook = "playbook.yml"
#  end
end

另外,请确保您的KnownHost文件是干净的。

vi /Users/JohnDoe/.ssh/known_hosts

基本上这就是我使用 Vagrant 和 SSH/Ansible 的方式

答案2

如果你输入,vagrant ssh-config它会显示 vagrant 的 ssh 密钥的位置。现在,当你删除密钥时,Vagrant 会在你运行时自动生成一个新密钥vagrant up

相关内容