Ansible Ssh-Copy-Id

Ansible Ssh Copy Id



Ansible é uma ferramenta de automação gratuita e de código aberto que simplifica o gerenciamento de configuração e implantação de aplicativos em várias máquinas.

Ansible usa a linguagem declarativa para descrever o estado desejado dos sistemas e lida automaticamente com as tarefas necessárias para atingir esse estado.

Ansible usa SSH como método de conexão padrão para conectar-se a uma máquina de destino. O SSH fornece um canal de comunicação seguro e criptografado entre o nó de controle Ansible e os hosts de destino.







Normalmente, o método mais comum de configuração da autenticação baseada em chave SSH para o host de destino é o comando ssh-copy-id. O comando copia a chave pública do nó de controle para o arquivo “authorized_keys” no host de destino.



No entanto, ao configurar um sistema pela primeira vez, pode ser necessário que o Ansible faça isso em um manual. É aqui que a comunidade Ansible vem em socorro.



Na comunidade Ansible, temos acesso à função ssh_id_copy que nos permite autorizar os sistemas para autenticação SSH sem senha.





Esta função cuida da configuração das chaves SSH na máquina remota, o que nos permite criar um arquivo de inventário Ansible com a máquina remota. Podemos então chamar rapidamente qualquer manual do Ansible na máquina remota.

Função Ansible Ssh_Copy_Id

A função possui variáveis ​​que permitem ao Ansible configurar as chaves SSH no host remoto. Essas variáveis ​​incluem:



nome de anfitrião – Define o sistema remoto ao qual se conectar (FQDN ou IP).

Nome de usuário – Especifica o nome de usuário para conectar-se ao sistema remoto.

Senha – Define a senha do nome de usuário para conexão ao sistema remoto.

ssh_public_key – Define o caminho absoluto para o arquivo de chave pública a ser configurado no host remoto.

Porta – Define a porta SSH.

Instalando a função Ssh_Copy_Id

CUIDADO: Não podemos fornecer a validade e a segurança de funções e módulos orientados pela comunidade. Audite e verifique o funcionamento de uma função/módulo antes de usá-lo na produção e em máquinas reais. Nenhuma segurança é garantida ao trabalhar com as etapas descritas nesta postagem.

Conforme mencionado, ssh_copy_id é uma função fornecida pela comunidade por Ryan. O link para o repositório é fornecido da seguinte forma:

https://github.com/ryankwilliams/ansible-ssh-copy-id

Antes de podermos usá-lo, precisamos garantir que ele esteja instalado executando o seguinte comando:

$ galáxia ansible instalar rywillia.ssh-copy-id

Exemplo de uso

Depois de instalado, podemos usar a função em um manual, conforme demonstrado a seguir:

---
- nome
: configurar autenticação ssh sem senha em uma máquina remota
anfitriões
: host local
tornar-se
: sim
papéis
:
- papel
: ryankwilliams.ssh_copy_id
cujo
:
nome de anfitrião
: 172.168.112.23
nome de usuário
: Ubuntu
senha
: senha
ssh_public_key
: /home/debian12/.ssh/id_rsa.pub
ssh_port
: 22

O manual de exemplo anterior demonstra como usar a função para configurar a autenticação SSH sem senha, um usuário definido na máquina remota.

Conclusão

Neste tutorial introdutório, você aprendeu como aproveitar funções e módulos fornecidos pela comunidade para configurar a autenticação SSH sem senha em hosts remotos usando um manual do Ansible.