Tenho um servidor Ubuntu no Google Cloud/Compute Engine que funciona sem problemas. Posso fazer ssh nele a partir da linha de comando ou a partir do console do painel do Google Cloud.
Quando tiro um snapshot para clonar o servidor, não consigo fazer ssh no novo clone. O daemon ssh não parece estar escutando. Não consigo nem fazer login no painel do Google Cloud.
Alguem sabe por quê?
Do console serial (Nota: editei o sha256 na pasta):
Mar 20 20:16:19 qa-for-work cloud-init[1042]: Generating public/private ed25519 key pair.
Mar 20 20:16:19 qa-for-work cloud-init[1042]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.
cloud-init[1042]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.
Mar 20 20:16:20 qa-for-work cloud-init[1042]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub.
[ 110.667373] cloud-init[1042]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub.
Mar 20 20:16:20 qa-for-work cloud-init[1042]: The key fingerprint is:
[ 110.667475] cloud-init[1042]: The key fingerprint is:
Mar 20 20:16:20 qa-for-work cloud-init[1042]: SHA256:u6ros 4MQtfpO5GM root@qa-for-work
[ 110.667560] cloud-init[1042]: SHA256:u6ros 1GtaVy4MQtfpO5GM root@qa-for-work
Mar 20 20:16:20 qa-for-work cloud-init[1042]: The key's randomart image is:
[ 110.667644] cloud-init[1042]: The key's randomart image is:
Mar 20 20:16:20 qa-for-work cloud-init[1042]: +--[ED25519 256]--+
[ 110.667775] cloud-init[1042]: +--[ED25519 256]--+
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | o*o..=+o... |
[ 110.667864] cloud-init[1042]: | o*o..=+o... |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | o.o.o.+... |
[ 110.667939] cloud-init[1042]: | o.o.o.+... |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | o . ...o . |
[ 110.668037] cloud-init[1042]: | o . ...o . |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | = . .. + |
[ 110.668116] cloud-init[1042]: | = . .. + |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | + = o S . |
[ 110.668192] cloud-init[1042]: | + = o S . |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: | o + o + . |
[ 110.668275] cloud-init[1042]: | o + o + . |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |o + o E |
[ 110.668349] cloud-init[1042]: |o + o E |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |.*.+ . + o |
[ 110.668503] cloud-init[1042]: |.*.+ . + o |
Mar 20 20:16:20 qa-for-work cloud-init[1042]: |ooB+o...o |
[ 110.668596] cloud-init[1042]: |ooB+o...o |
Mar 20 20:16:20 qa-for-work systemd[1]: Started Initial cloud-init job (metadata service crawler).
Mar 20 20:16:20 qa-for-work cloud-init[1042]: +----[SHA256]-----+
[ 110.668946] cloud-init[1042]: +----[SHA256]-----+
Mar 20 20:16:20 qa-for-work ntpdate[1023]: adjust time server 169.254.169.254 offset 0.361638 sec
Mar 20 20:16:20 qa-for-work systemd[1]: Reached target Network is Online.
Mar 20 20:16:20 qa-for-work systemd[1]: Reached target Cloud-config availability.
Mar 20 20:16:20 qa-for-work systemd[1]: Startup finished in 7.356s (kernel) + 1min 42.350s (userspace) = 1min 49.706s.
Responder1
O problema era que eu tinha um disco anexado na instância original.
A solução foi comentar a montagem do disco anexado em formato /etc/fstab
.
Um sistema Linux normal continuaria a inicializar e executar o ssh se um ponto de montagem não raiz não fosse montado. Nenhuma mensagem de erro no console serial indicou este éter.
Embora a nuvem do Google ainda seja minha favorita, esta é uma grande falha da parte deles.
Responder2
Se a nova instância for criada a partir de um instantâneo da instância de origem, a configuração do sshd não deverá ser diferente na nova instância gerada a partir do instantâneo e na instância de origem.
Quando você tenta fazer o SSH do Cloud Shell, qual é a mensagem de erro que você está recebendo?
$ gcloud compute ssh INSTANCE_NAME
Quando você tira um instantâneo, ele é um instantâneo do disco e não inclui nenhuma informação sobre os outros aspectos da máquina de origem.
É possível que a nova instância que você está criando a partir do snapshot não tenha recebido as mesmas tags de rede que a instância de origem (o que pode impedir o acesso da porta 22 à nova instância)? Acho que definitivamente vale a pena conferir.
Além disso, certifique-se de ter atribuído à nova máquina um endereço IP externo.
EDITAR:
Foram adicionadas algumas informações adicionais em relação às informações atualizadas dos postadores sobre uma entrada fstab inválida que afeta a inicialização da instância (e, portanto, afetando o acesso SSH à instância).
Há algumas informações úteisaquiem relação à adição de [NOFAIL_OPTION] à entrada fstab, que é uma variável que especifica o que o sistema operacional deve fazer se não conseguir montar o disco permanente no momento da inicialização. Isso pode ser usado para evitar problemas de inicialização relacionados a entradas fstab inválidas.