Como configuro um sistema de chaves ssh sem interação?

1

Eu preciso ser capaz de configurar um sistema de chave ssh sem interação. Eu não me importo se pacotes precisam ser instalados ou senhas em texto claro.

Como posso criar um sistema que configure um sistema de chave ssh , permitindo que a máquina A seja ssh na máquina B e vice-versa usando chaves ssh, sem interação?

    
por ubashu 27.07.2017 / 02:35

1 resposta

0

Aqui está o código simples ( copiando e colando NÃO FUNCIONARÁ! Mude coisas como my-username e my-ip ). Execute em ambos os hosts:

#!/bin/bash
apt-get -y install sshpass
ssh-keygen -p -N "" -f ~/.ssh/id_rsa
sshpass -p 'my_password' ssh-copy-id my_username@my_host_2

Substitua my_host_2 por my_host_1 na máquina 2.

Explicação:

A primeira linha, #!/bin/bash é chamada de shebang. Veja aqui para mais informações.

A segunda linha instala sshpass sem interação.

A terceira linha usa ssh-keygen para criar uma chave. -q significa silêncio; não pede tanto. -N "" significa que não há senha e -f significa salvá-lo no local padrão.

A última linha copia a chave real usando ssh-copy-id e sshpass . Você não pode echo da senha através de stdin , então usamos sshpass , que é o equivalente mais próximo. -p é a senha a ser usada. O argumento para ssh-copy-id é o nome de usuário e host para copiar a chave para.

    
por ubashu 27.07.2017 / 02:35