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

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

Preciso ser capaz de configurar um sshsistema de chaves sem interação. Não me importo se pacotes precisam ser instalados ou senhas em texto não criptografado.

Como posso fazer um sistema que configure um sshsistema de chaves, permitindo que a máquina A entre sshna máquina B e vice-versa usando chaves ssh, sem interação?

Responder1

Aqui está o código simples (copiar e colar NÃO FUNCIONARÁ!!! Mude coisas como my-usernameemy-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_2pela my_host_1máquina 2.

Explicação:

A primeira linha #!/bin/bashé chamada de shebang. OlharaquiPara maiores informações.

A segunda linha é instalada sshpasssem interação.

A terceira linha é usada ssh-keygenpara criar uma chave. -qsignifica silêncio; não é pedir tanto. -N ""significa que não há senha e -fsignifica salvá-la no local padrão.

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

informação relacionada