ssh sem senha para todas as máquinas em uma rede

2

Eu sei que a maneira básica de permitir a autenticação baseada em chave entre dois servidores é usando estas três etapas:

ssh-keygen
ssh-copy-id -i remote_host
ssh remote_host

Usando essa abordagem, eu preciso digitar a senha manualmente quando eu ssh no host remoto e, em seguida, faço o inverso para permitir que o ssh siga os dois caminhos.

O problema que estou enfrentando é que preciso de 100 servidores na mesma rede no Azure para poderem ssh uns nos outros de forma bidirecional sem senhas e para poder fazer isso esperançosamente novamente.

Existe uma maneira de eu fazer isso para todas as máquinas na mesma rede facilmente, sem ter que configurar isso para cada uma delas?

    
por bamcclur 19.05.2016 / 16:10

2 respostas

1

Para gerenciar centenas de servidores, é melhor usar algum tipo de ferramenta de gerenciamento de configuração, como marionetes e chefs, ou ansible, etc.

você ainda teria que configurá-lo uma vez, mas você pode fazer muito mais do que apenas ssh depois, então provavelmente valeria a pena, por exemplo, quando você quiser atualizar a chave ssh, uma única mudança no mestre de marionetes (ou equivalente em outros CMs) seria suficiente. por segurança, é recomendável que você mude sua chave de vez em quando.

    
por 19.05.2016 / 16:49
0

você pode usar o Bash:

#!/bin/bash
for ip in 'cat /root/serverips.txt'; do
    ssh-copy-id -i ~/.ssh/id_rsa.pub $ip
done
    
por 19.05.2016 / 16:23

Tags