0

Ansible と Vagrant を動かそうとしています。フォルダー(Vagrantと呼ばれる)には、Vagrantfile、hostsファイル、およびansible.cfg次の内容のファイルがあります。

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# General Vagrant VM configuration.
 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

  # Server 1.
 config.vm.define "server1" do |app|
   app.vm.hostname = "server1.dev"
   app.vm.network :private_network, ip: "192.168.0.10"
 end
end

ホストファイル

[server1]
192.168.0.10

そしてansible.cfgファイル

[defaults]
inventory = hosts
remote_user = vagrant
host_key_checking = False
ansible_ssh_private_key_file=<absolute_path_to_folder>/.vagrant/machines/server1/virtualbox/private_key
ansible_ssh_user=vagrant

次のコマンドを実行すると、機能しません。

macbook-pro:Vagrant user1$  ansible server1 -m command -a uptime
192.168.0.10 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh.",
    "unreachable": true
}

.vagrant/machines/server1/virtualboxフォルダに秘密鍵ファイルがないようです。

ansible.cfgファイルを次のように変更すると

[defaults]
inventory = hosts
remote_user = vagrant
host_key_checking = False
private_key_file = /Users/wauterw/.vagrant.d/insecure_private_key

できます。

.vagrant/machines/server1/virtualbox/private_key一般の代わりに秘密鍵を使用/作成するにはどうすればよいinsecure_private_keyですか?

4

3 に答える 3

1

他の回答で提案されているように削除config.ssh.insert_key = falseまたは変更します。trueこれにより、インスタンスを作成するたびに新しいキーが作成されます。

hosts ファイルを使用して、Ansible 接続を指定します。

ansible-2.1.1.0これをと でテストしましたVagrant 1.8.1

ansible.cfg:

[defaults]
inventory = hosts
host_key_checking = False

hosts:

[server1]
192.168.0.10 ansible_ssh_private_key_file=.vagrant/machines/server1/virtualbox/private_key ansible_user=vagrant

で実行しansible -vvvvて、ansible が使用している接続を確認します。次のように表示されます。

いえ

<192.168.0.10> SSH: EXEC ssh -C -vvv ... -o 'IdentityFile=".vagrant/machines/server1/virtualbox/private_key"' 
-o User=vagrant
于 2016-09-26T23:55:08.047 に答える
0

の次の行をコメントアウトしますVagrantfile

config.ssh.insert_key = false

値をに変更することもできますtrue(これがデフォルトです。そのため、行はまったく必要ありません)。


この行は実際には秘密鍵の作成を防ぎ、Vagrant にデフォルトの安全でない鍵を使用するように命令します。ドキュメントを参照してください。

于 2016-09-26T22:40:19.600 に答える