7
respostas

Dúvida sobre a chave privada

ansible wordpress -i hosts -u vagrant --private-key ssh-keys/vagrant_id_rsa -m ping -m shell -a 'echo Hello, World'

A chave privada deve estar na máquina onde roda o ansible ou na máquina controlada onde tem o vagrant e o virtualbox?

7 respostas

Olá Rafael, tudo bem? Essa chave privada é criada pelo Vagrant (a ferramenta Vagrant que está instalada na sua máquina) no momento da criação da máquina virtual e a mesma se encontra nessa localização:

.vagrant/machines/wordpress/virtualbox/private_key

Só que estou considerando que você esteja no dentro do diretório que contém o arquivo "Vagrantfile". Essa chave não é a chave ssh da sua máquina que você encontra no diretório .ssh, isso claro, se você estiver utilizando Linux. Você pode entrar na pasta .vagrant/machines/wordpress/virtualbox/private_key, caso você não encontre a pasta .vagrant dentro do diretório onde está o arquivo "Vagrantfile", você pode simplesmente habilitar a exibição de arquivos ocultos e vai encontra a pasta .vagrant.

Poderia me explicar então como funciona o ssh com a chave privada que é usada para a autenticação? Encontrei exemplos na internet onde a chave privada está dentro do arquivo de inventário" hosts". ex: https://www.cyberciti.biz/faq/define-ssh-key-per-host-using-ansible_ssh_private_key_file/

Veja se ajuda a minha resposta nesse outro tópico.

Se não ajuda coloca aqui pra gente explicar melhor!

Entendi. quando tem o vagrant ele cria as chaves publica e privada necessárias a conexão via ssh. O caso em que eu coloquei o link não é com o uso do vagrant. Nestes casos tenho que gerar as chaves através do comando linux ssh-keygen?

Sim Rafael, no caso da forma como mostra no link que você colocou, você vai ter que criar as chaves na sua máquina local e adicionar a chave pública na maquina controlada "guest".

Então veja se entendi: Das duas maneiras com vagrant ou não a chave privada é de acesso pelo comando do ansible colocando o caminho da chave no mesmo. caso a VM seja da Amazon por exemplo a chave privada não poderia estar na maquina virtual tendo que gerar como você disse e exportar para a VM da amazon para fazer a conexão ssh.

Geralmente quando vamos provisionar alguma máquina virtual em serviços de nuvem como Amazon, Digital Ocean, ou outros, durante a criação da máquina lá, nós já incluímos a nossa chave pública, assim quando a máquina estiver pronta para usarmos a nossa chave pública já vai está adicionada dentro do arquivo authorized_keys da mesma e então vamos conseguir acessar a máquina pelo SSH.