Como instalar o certificado ssh em mais de 400 servidores?

Como instalar o certificado ssh em mais de 400 servidores?

Para não digitar senha ao fazer qualquer coisa em qualquer um desses servidores, preciso fazer upload do meu certificado ssh para o controle remoto:

ssh-copy-id CptBartender@remote

Agora... preciso fazer upload desse certificado para mais de 400 servidores e estou tentando encontrar uma maneira de não digitar/colar minha senha tantas vezes.

A pergunta é: como posso automatizar isso no Windows (com MinGW)? Provavelmente o Cygwin não é uma opção porque parece estar por trás do grande firewall corporativo do inferno.

Até agora eu:

  1. criei um script que iteraria em todos os controles remotos, mas pede senha para cada um deles
  2. tentei passar a senha sem yessucesso
  3. li sobre expect, mas não consegui encontrar uma maneira de fazê-lo funcionar no MinGW
  4. leia sobre sshpass- o mesmo queexpect

Já pensei em AutoItfazer isso, mas deve haver uma maneira melhor ...

Responder1

Os PuTTY plinkpodem aceitar a senha como um parâmetro de linha de comando. Ele não possui um equivalente direto a ssh-copy-id, mas pode ser facilmente programado, por exemplo, executando os comandos manualmente ...

plink foo@bar -pw baz "mkdir -p ~/.ssh && echo 'ssh-ed25519 AAAA...' >> ~/.ssh/authorized_keys"

...ou enviando o arquivo com a extensão pscp.


Além disso, se expectnão funcionar no Windows, certamente você poderia executá-lo em um desses 400 servidores Linux?

(Além disso, dados os números, talvez você deva extrair as chaves do LDAP ou usar AD/Kerberos? Versões recentes do OpenSSH têm ganchos para integração LDAP sem precisar mais de patches de terceiros.)

Responder2

Você pode procurar a ferramenta Putty plink conforme mencionado acima. Ou você pode pensar em usar um dos sistemas de gerenciamento de configuração, como Puppet, Ansible ou Chef no futuro. Você pode usar qualquer um deles para adicionar algum certificado a todos os seus servidores rapidamente.

Procurando pelos números do seu servidor, acho que você precisa pensar seriamente sobre isso. Eles podem ser usados ​​para a maioria das tarefas rotineiras de administração de servidores, incluindo gerenciamento de usuários, gerenciamento de arquivos e diretórios e software.

informação relacionada