em todas as conexões via ssh, há a necessidade de se aceitar (yes) a chave RSA.
Sim, mas apenas uma vez.
Se você precisa executar um comando remoto sem senha, pode instalar um certificado criptográfico nas máquinas, e usá-lo para autenticação no SSH.
Assim:
1. Na máquina que vai controlar as outras, crie um par de chaves.
ssh-keygen -t rsa -b 2048 -f chave_desligamentoForneça uma senha pra proteger sua chave.
O comando vai criar dois arquivos, um chamado "chave_desligamento", o outro chamado "chave_desligamento.pub".
----
Os próximos passos devem ser executados manualmente nas máquinas a serem controladas.
2. Copie o arquivo "chave_desligamento.pub" para a máquina que vai ser desligada.
3. Adicione o conteúdo do arquivo "chave_desligamento.pub" ao final do arquivo "/root/.ssh/authorized_keys".
sudo -s
cd /root
mkdir -p .ssh
chmod 600 .ssh
cd .ssh
cat ~/chave_desligamento.pub >> authorized_keys4. Edite o arquivo /etc/ssh/sshd_config, e procure pela chave "PermitRootLogin", provavelmente estará como "no" --- mude-a para "forced-commands-only".
5. Assegure-se que o serviço ssh está configurado pra iniciar automaticamente. No Ubuntu vc faz isso com o comando
sudo update-rc.d ssh defaults6. Reinicie o serviço ssh na máquina (ou a própria máquina).
----
De volta à máquina que vai controlar as outras, nesse momento você já deve conseguir se logar remotamente usando a chave privada:
ssh -i chave_desligamento root@maquina-controladaObserve que ao executar este comando, você precisará fornecer a senha que está protegendo a chave [não a sua senha, nem a senha do root na máquina remota --- aliás, vc não precisará ter uma senha no root na máquina remota, usando este procedimento].
Como muitas vezes vc não estará perto da máquina pra digitar esta senha na hora em que precisar usar a chave privada, vc pode usar o programa "ssh-agent" para armazená-la em memória. Você o inicia com o comando abaixo:
eval `ssh-agent`Em seguida você deve carregar sua chave com o comando
ssh-add chave_desligamentoForneça sua senha, e a partir daí vc não vai precisar mais fornecê-la enquanto estiver logado. Se precisar sair ou reiniciar a máquina controladora, é só executar de novo esses comandos.