Como redefinir uma senha local do Linux em VMs do Azure
Aplica-se a: ✔️ VMs linux
Este artigo fornece dois métodos para redefinir as senhas locais da VM (Máquina Virtual) do Linux. Se a conta de usuário expirou ou você deseja criar uma nova conta, pode usar os seguintes métodos 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. Este método requer que o Azure Linux Agent 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 redefinir a 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 a 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 root
ou admin user
por meio do modo de usuário único para acesso à VM.
Siga o processo do modo de usuário único para redefinir ou adicionar uma senha.
Verifique se a autenticação de senha está habilitada no servidor OpenSSH se você tentar fazer logon no servidor usando o SSH e a autenticação de senha.
Verifique se o valor
PasswordAuthentitcation
está definido comoyes
ouno
em/etc/ssh/sshd_config
executando o seguinte comando:egrep "^PasswordAuthentication" /etc/ssh/sshd_config
Se o valor
PasswordAuthentication
for definido comono
, use um editor de texto comovi
ounano
para alterar o valor parayes
.
Crie uma nova senha para a conta
admin user
ouroot
executando o comandopasswd
:passwd <admin_user>
Verifique se
SElinux
está no modoenforcing
em/etc/sysconfig/selinux
executando o seguinte comando:cat /etc/sysconfig/selinux
Se
SElinux
estiver no modoenforcing
, verifique seSElinux
permite as alterações de arquivo feitas com o comandopasswd
. Depois que a senha for alterada, você poderá executar o comando a seguir para renomear o sistema de arquivos a fim de facilitar o carregamento da alteração.touch /.autorelabel
Reinicie a VM executando o seguinte comando:
/usr/sbin/reboot -f
Tente acessar a VM.
Redefina a senha usando uma VM de recuperação
Este método foi testado usando as distribuições e versões suportadas do Linux.
Observação
Se você estiver enfrentando problemas que afetam um dispositivo virtual 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 do dispositivo virtual de rede para obter instruções sobre como fazer uma redefinição de senha com segurança.
Use os comandos vm repair para criar uma VM de reparo que tenha uma cópia anexada do disco do sistema operacional da VM afetada. Em seguida, monte a cópia dos sistemas de arquivos do sistema operacional na VM de reparo usando o ambiente chroot.
Observação
Como alternativa, crie uma VM de resgate manualmente usando o portal do Azure. Para obter mais informações, consulte 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 comandos az vm repair create a seguir 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 resolva problemas do ambiente chroot.
Verifique se a autenticação de senha está habilitada no servidor OpenSSH se você tentar fazer logon no servidor usando o SSH e a autenticação de senha.
Verifique se o valor
PasswordAuthentitcation
está definido comoyes
ouno
em/etc/ssh/sshd_config
executando o seguinte comando:egrep "^PasswordAuthentication" /etc/ssh/sshd_config
Se o valor
PasswordAuthentication
for definido comono
, use um editor de texto comovi
ounano
para alterar o valor parayes
.
Crie uma nova senha para a conta
admin user
ouroot
executando o comandopasswd
:passwd <admin_user>
Verifique se
SElinux
está no modoenforcing
em/etc/sysconfig/selinux
executando o seguinte comando:cat /etc/sysconfig/selinux
Se
SElinux
estiver no modoenforcing
, verifique seSElinux
permite as alterações de arquivo feitas com o comandopasswd
. Depois que a senha for alterada, você poderá executar o comando a seguir para renomear o sistema de arquivos a fim de facilitar o carregamento da alteração.touch /.autorelabel
Saia do ambiente chroot.
Remonte o disco do sistema operacional para a VM afetada trocando os discos do sistema operacional:
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.