Como redefinir uma senha local do Linux em VMs do Azure
Aplica-se a: ✔️ VMs do Linux
Este artigo fornece três métodos para redefinir senhas de VM (Máquina Virtual) Linux local. Se a conta de usuário tiver expirado ou você quiser criar uma nova conta, poderá usar os métodos a seguir para criar uma nova conta de administrador local e recuperar o acesso à VM.
Redefinir a senha usando o Agente Linux do Azure
Você pode redefinir a senha sem anexar o disco do sistema operacional a outra VM. Esse método requer que o Agente Linux do Azure seja instalado na VM afetada.
Verifique se o serviço do Agente Linux do Azure (waagent) está em execução na VM afetada e está em um estado pronto no portal do Azure.
Configure as variáveis de ambiente e use a CLI do Azure ou o Azure Cloud Shell para fazer a redefinição de senha:
AZ_RESOURCE_GROUP="YourResourceGroupName" AZ_VM_NAME="VMname" AZ_ADMIN_USER="adminName" AZ_MSADMIN_PASS="newPassword" az vm user update -u $AZ_ADMIN_USER -p $AZ_MSADMIN_PASS -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME
Tente acessar a VM.
Para atualizar a chave SSH, consulte Gerenciar usuários administrativos, SSH usando a extensão VMAccess com a CLI do Azure.
Você também pode redefinir a senha ou a chave SSH usando o recurso Redefinir Senha no portal do Azure.
Para obter mais informações, consulte extensão vmaccess para Linux.
Redefinir a senha usando o console serial com o modo de usuário único
Você pode usar o console serial para redefinir a conta ou root
por meio do admin user
modo de usuário único para acesso à VM.
Siga o processo do modo de usuário único para redefinir ou adicionar uma senha.
Certifique-se de que a autenticação de senha esteja habilitada no servidor OpenSSH se você tentar fazer login no servidor usando a autenticação SSH e de senha.
Verifique se o
PasswordAuthentitcation
valor está definido comoyes
ouno
in/etc/ssh/sshd_config
executando o seguinte comando:egrep "^PasswordAuthentication" /etc/ssh/sshd_config
Se o
PasswordAuthentication
valor estiver definido comono
, use um editor de texto comovi
ounano
para alterar o valor parayes
.
Crie uma nova senha para a
admin user
conta ouroot
executando opasswd
comando:passwd <admin_user>
Verifique se
SElinux
está noenforcing
modo em/etc/sysconfig/selinux
executando o seguinte comando:cat /etc/sysconfig/selinux
Se
SElinux
estiver noenforcing
modo, certifique-se de queSElinux
permite as alterações de arquivo feitas com opasswd
comando. Depois que a senha for alterada, você pode executar o seguinte comando para rotular novamente o sistema de arquivos para facilitar o carregamento da alteração.touch /.autorelabel
Reinicialize a VM executando o seguinte comando:
/usr/sbin/reboot -f
Tente acessar a VM.
Redefinir a senha usando uma VM de reparo
Esse método foi testado usando as distribuições e versões Linux suportadas.
Observação
Se você estiver enfrentando problemas que afetam uma solução de virtualização de rede do Azure, esse método não se aplica à sua situação. Em vez disso, você deve entrar em contato com o fornecedor da solução de virtualização de rede para obter instruções sobre como fazer uma redefinição de senha com segurança.
Você pode executar os comandos vm repair para criar uma VM de reparo que tenha uma cópia do disco do sistema operacional da VM afetada anexada. Em seguida, monte a cópia dos sistemas de arquivos do sistema operacional na VM de reparo por meio do ambiente chroot.
Observação
Como alternativa, crie uma VM de resgate manualmente usando o portal do Azure. Para obter mais informações, confira Solucionar problemas de uma VM do Linux anexando o disco do sistema operacional a uma VM de recuperação usando o portal do Azure.
Execute os seguintes comandos az vm repair create para criar uma cópia do disco do sistema operacional. Em seguida, o disco é anexado a uma VM de recuperação automaticamente.
AZ_RESOURCE_GROUP="YourResourceGroupName" AZ_VM_NAME="VMname" AZ_ADMIN_USER="userName" AZ_MSADMIN_PASS="newPassword" az vm repair create -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --repair-username $AZ_ADMIN_USER --repair-password "$AZ_MSADMIN_PASS" --verbose
Faça logon na VM de reparo e solucione problemas do ambiente chroot.
Certifique-se de que a autenticação de senha esteja habilitada no servidor OpenSSH se você tentar fazer login no servidor usando a autenticação SSH e de senha.
Verifique se o
PasswordAuthentitcation
valor está definido comoyes
ouno
in/etc/ssh/sshd_config
executando o seguinte comando:egrep "^PasswordAuthentication" /etc/ssh/sshd_config
Se o
PasswordAuthentication
valor estiver definido comono
, use um editor de texto comovi
ounano
para alterar o valor parayes
.
Crie uma nova senha para a
admin user
conta ouroot
executando opasswd
comando:passwd <admin_user>
Verifique se
SElinux
está noenforcing
modo em/etc/sysconfig/selinux
executando o seguinte comando:cat /etc/sysconfig/selinux
Se
SElinux
estiver noenforcing
modo, certifique-se de queSElinux
permite as alterações de arquivo feitas com opasswd
comando. Depois que a senha for alterada, você pode executar o seguinte comando para rotular novamente o sistema de arquivos para facilitar o carregamento da alteração.touch /.autorelabel
Saia do ambiente chroot.
Remonte o disco do sistema operacional na VM afetada trocando o disco do sistema operacional com o seguinte comando:
az vm repair restore -g $AZ_RESOURCE_GROUP -n $AZ_VM_NAME --verbose
Tente acessar a VM.
Próximas etapas
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.