Se ci si dimentica le credenziali di accesso di una Virtual Machine Linux su Azure, la piattaforma cloud di Microsoft, è un bel problema. Dal portale di amministrazione di Azure infatti, non è al momento disponibile la funzionalità di reset della password della macchina, ma c’è scritto che lo sarà “presto”. Per ovviare al problema e poter riavere l’accesso alla VM occorre utilizzare i comandi per la gestione delle risorse relativi alla modalità con cui essa era stata creata: Azure Resource Manager (ARM, ovvero il “portale nuovo”) oppure Azure Service Management, cioè la modalità Classic o “portale vecchio”.
La prima cosa da fare quindi è scaricare l’installer della Command Line Interface Azure e seguire la procedura di installazione.
Una volta fatto, occorre collegarsi alla sottoscrizione Azure tramite il proprio account Microsoft, in caso di sottoscrizione personale, o il proprio account Azure aziendale. Per farlo bisogna aprire il prompt dei comandi e eseguire il comando:
azure login
Il risultato dell’invocazione di questo comando è una stringa che contiene un url e un codice necessario per l’autenticazione, come illustrato nella figura seguente:
A questo punto occorre aprire il browser all’indirizzo fornito, dove verrà mostrata una pagina con un apposito campo, in alto a destra, per l’inserimento del codice generato dal comando “azure login”. La pagina è quella mostrata nella figura seguente:
Una volta inserito il codice si otterrà la conferma dell’avvenuta abilitazione all’accesso da parte del dispositivo in uso:
Nel prompt dei comandi si vedrà quindi la conferma che il login all’account Azure è andato a buon fine (“login command OK”) e saranno elencate le sottoscrizioni attive per l’utente, con anche l’indicazione di quale viene settata come subscription di default:
A questo punto per modificare le credenziali di accesso occorre eseguire il comando azure vm reset-access con le seguenti opzioni:
- -g NOME_GRUPPO_RISORSE
- -n NOME_VM
- -u NOME_UTENTE
- -p NUOVA_PASSWD
Quindi:
azure vm reset-access -g NOME_GRUPPO_RISORSE -n NOME_VM -u NOME_UTENTE -p NUOVA_PASSWD
Se tutto va a buon fine il comando ritorna esito OK e la password è stata cambiata:
In alcuni casi il comando restituisce un errore di timeout. Per evitarlo è stato sufficiente restartare la VM ed eseguire il comando “azure vm reset-access” subito dopo il riavvio.
EDIT 19/07/2016: La funzionalità di reset password per le Virtual Machine Linux è ora disponibile anche dal portale web di Azure (non so di preciso da quando, ma oggi l’ho vista).