Recentemente, comecei a brincar com o Ansible e parece muito bom. Não tenho muita experiência em coisas de DevOps e nunca precisei lidar com cenários complexos. Comecei a criar meu manual do Ansible para substituir minha ferramenta de implantação atual - o Deployer PHP. Infelizmente, estou preso na clonagem de repositório git. Agora, eu sei que preciso de uma chave pública adicionada para habilitar o acesso ao repositório git e aqui vem minha pergunta.
Devo usar o encaminhamento de agente SSH (desta maneira, posso usar minhas chaves SSH locais) ou devo armazenar uma chave SSH privada (criptografada, adicionada ao controle de origem) dentro do meu projeto ansible e copiá-la usando Ansible para o nó de destino? Sei que a pergunta pode ser muito ampla, o que me interessa são as implicações de segurança de ambas as abordagens.
Você pode criar uma história de sua chave privada em uma circunstância: se você configurar seu repositório para permitir apenas o acesso de leitura para essa chave específica e não se preocupar com o fato de o repositório ser publicamente legível. Nesse caso, você pode armazenar facilmente sua chave privada - obviamente, faça uma chave descartável sem senha. Mas como eu disse, apenas se você estiver bem com o acesso público a esse repositório.
Se não for esse o caso, provavelmente você está preso ao agente SSH. Não é o ideal, como
root
pode ser o caso, mas se você estiver em um tipo de ambiente benevolente (ou seja, nenhum servidor da Web atacável nem perto), deve estar tudo bem.fonte