Como instalar o certificado ssh em 400 servidores?

0

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

ssh-copy-id CptBartender@remote

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

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

Até agora eu tenho:

  1. cria um script que faria uma iteração em cada controle remoto, mas pede senha para cada um deles
  2. tentou passar a senha com yes sem sucesso
  3. leia sobre expect , mas não conseguiu encontrar uma maneira de fazê-lo funcionar no MinGW
  4. leia sobre sshpass - o mesmo que expect

Eu pensei em AutoIt , mas deve haver uma maneira melhor ...

    
por CptBartender 19.04.2016 / 13:06

2 respostas

1

O plink do PuTTY pode aceitar a senha como um parâmetro da linha de comando. Ele não tem um equivalente direto a ssh-copy-id , mas pode ser roteirizado com facilidade, por exemplo, executando os comandos manualmente ...

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

... ou fazendo o upload do arquivo com pscp .

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

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

    
por 19.04.2016 / 13:22
0

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

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

    
por 21.04.2016 / 21:51