Freqüentemente descartamos e recriamos máquinas no Google Compute Engine para destruir e desativar ambientes de teste, realizar testes de failover, etc.
O problema é que o GCE está sempre recriando as chaves do servidor SSH em cada nova instância criada a partir de uma imagem ou instantâneo.
Qual é uma maneira fácil de ter chaves SSH estáticas ou chaves SSH que sejam prontamente aceitas em máquinas ao realizar operações scp ou ssh?
Responder1
Se você estiver usando suas máquinas apenas para testes (testando algo além de ssh
si mesmo, é claro) e a segurança não for problema (ambiente fechado), você pode torná-la parte do seu script de instalação/kickstart/primeira inicialização para extrair as chaves de algum lugar e não gera o seu próprio (a maneira como o que aciona a geração de chaves difere entre as distribuições, mas você descobrirá - o RHEL as cria apenas se elas estiverem faltando durante o primeiro início do serviço).
Responder2
Se você já possui um arquivo de chave privada google_compute_engine
em seu /home/<username>/.ssh/
diretório, o uso do gcloud compute ssh <target instance>
comando não deve gerar uma nova chave. No entanto, se você estiver usando um nome de usuário diferente ou tentando fazer SSH a partir de uma instância de VM recém-criada, o gcloud compute ssh
comando gerará uma nova chave privada/pública para cumprir os requisitos de segurança.
Você pode copiar a chave privada para uma máquina específica ou para o seu computador local e sempre usar SSH a partir daí. Isso eliminará a geração de novas chaves.
Se se trata de chave de host SSH, você pode usar -o StrictHostKeyChecking=no
a opção com seu comando ssh (OpenSSH) para ignorar a verificação da autenticidade da chave de host.