Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✔️ VMs linux
Este artigo fornece soluções para um problema em que a conexão com uma máquina virtual (VM) Linux via Secure Shell (SSH) falha porque o diretório /var/empty/sshd no RHEL, o diretório /var/lib/empty no SUSE ou o diretório /var/run/sshd no Ubuntu não existe ou não pertence ao usuário raiz ou pode ser gravado em grupo ou gravável em termos mundiais.
Importante
Novo! Experimente a assistência de VM para resolver os principais problemas. Recomendamos que você execute VM assist for Windows ou VM assist for Linux. Essas ferramentas de diagnóstico baseadas em script ajudam a identificar problemas comuns que afetam o Agente Convidado da VM do Azure e a integridade geral da VM.
Se você estiver enfrentando problemas de desempenho em VMs, execute essas ferramentas primeiro antes de entrar em contato com o Suporte da Microsoft.
Sintomas
Quando você se conecta a uma máquina virtual (VM) Linux via SSH, a conexão falha. Você pode receber a seguinte mensagem de erro sobre o diretório afetado, dependendo da sua distribuição Linux.
sudo tail /var/log/messages
sshd: /var/empty/sshd must be owned by root and not group or world-writable.
Motivo
Esse problema pode ocorrer se o diretório afetado não pertencer ao usuário raiz ou se for gravável em grupo ou gravável em termos mundiais.
Para resolver esse problema, use uma das seguintes resoluções:
Resolução 1: reparar a VM online
Aqui estão dois métodos para reparar a VM offline:
Use o console serial
Conecte-se ao Console Serial da VM do portal do Azure.
Entre na VM usando uma conta administrativa local e sua credencial ou senha correspondente.
Execute os seguintes comandos para resolver o problema de permissão e propriedade:
Use a extensão "Run Command"
Observação
Esse método depende do Agente de VM Linux do Azure (waagent). Portanto, verifique se o agente está instalado na VM e se o serviço está em execução.
No portal do Azure, abra a janela Propriedades da VM para verificar o status do agente. Se o agente estiver ativado e tiver o status Pronto , siga estas etapas para alterar a permissão:
Acesse o portal do Azure, localize as configurações da VM e selecione Executar Comando em Operações.
Execute o seguinte script de shell selecionando RunShellScript>Run:
- Após a conclusão da execução do script, a janela do console de saída mostrará uma mensagem "Habilitar com êxito".
Se você puder se conectar à VM via SSH e quiser analisar os detalhes da execução do script de comando de execução, examine o arquivo handler.log no diretório /var/log/azure/run-command .
Resolução 2: Reparar a VM offline
Observação
- Use essa resolução se o acesso ao console serial da VM não estiver disponível e o waagent não estiver pronto.
- No Ubuntu, o diretório /var/run/sshd é executado na memória. Reiniciar a VM também corrigirá o problema. Portanto, a solução de problemas offline em VMs do Ubuntu não é necessária.
Aqui estão dois métodos para reparar a VM offline:
Usar az vm repair
A az vm repairparte da extensão vm-repair para a CLI do Azure é descrita em Reparar uma VM do Linux usando os comandos de reparo da Máquina Virtual do Azure.
Siga estas etapas para automatizar o processo offline manual:
Observação
Nas etapas a seguir, substitua $RGNAME, $VMNAME, $USERNAME, $PASSWORD, e repairdiskcopy valores de acordo.
Use o comando az vm repair create para criar uma VM de reparo. A VM de reparo tem uma cópia do disco do sistema operacional para a VM problemática anexada.
az vm repair create --verbose -g $RGNAME -n $VMNAME --repair-username $USERNAME --repair-password $PASSWORD --copy-disk-name repairdiskcopyEntre na VM de reparo. Monte e faça chroot no sistema de arquivos da cópia anexada do disco do sistema operacional. Siga as instruções detalhadas do chroot.
Execute os seguintes comandos para resolver os problemas de permissão e propriedade:
Depois que as alterações forem aplicadas, execute o comando a seguir
az vm repair restorepara executar uma troca automática de disco do sistema operacional com a VM original.az vm repair restore --verbose -g $RGNAME -n $VMNAME
Use o método manual
Se o console serial e az vm repair a abordagem não se aplicarem a você ou falharem, o reparo deverá ser executado manualmente. Siga as etapas abaixo para anexar manualmente o disco do sistema operacional a uma VM de recuperação e trocar o disco do sistema operacional de volta para a VM original:
- Anexe o disco do sistema operacional a uma VM de recuperação usando o portal do Azure.
- Anexe o disco do sistema operacional a uma VM de recuperação usando a CLI do Azure.
Assim que o disco do SO for anexado com sucesso à VM de recuperação, siga as instruções chroot detalhadas para montar e fazer chroot nos sistemas de arquivos do disco do SO anexado. Em seguida, siga a etapa 3 na seção Usar az vm repair para resolver os problemas de permissão e propriedade.
Entre em contato conosco para obter ajuda
Se você tiver dúvidas, poderá fazer o suporte à comunidade do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.