Ubuntu を特殊化イメージでデプロイすると、既存のユーザーでログインできなくなる事象について
こんにちは! Microsoft Azure テクニカル サポートの高橋です。
今回は Ubuntu を特殊化イメージでデプロイすると、既存のユーザーでログインできなくなる事象について、
原因と対処策をご紹介いたします。
※本情報の内容(添付文書、リンク先などを含む)は、更新日時点でのものであり、予告なく変更される場合があります。
事象について
既存の特殊化 Ubuntu イメージを以下の弊ブログ記事を参考に、デプロイすると設定していたユーザー / パスワードにて
SSH ログインができなくなる事象がございます。
- IaaS v2 (ARM) で特殊化イメージの仮想マシンをテンプレートから作成する方法
https://blogs.technet.microsoft.com/jpaztech/2016/04/06/iaas-v2-arm-specialized-template/
原因
本事象が発生する背景としては、以下のドキュメントに記載がございます。 Ubuntu Cloud Image では cloud-init という固有のツールが起動し、通常は Azure Linux エージェントで管理されるはずの、さまざまな構成タスクが代わりに実行されることに起因します。Ubuntu 特有の cloud-init ツールの影響をうけ、もともと存在したユーザー名・パスワードがクリアーされてしまいます。
- Azure Linux エージェント ユーザー ガイド
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-linux-agent-user-guide/
実際に再デプロイ後に cloud-init のログを確認すると、再デプロイ実行時間帯に以下のログの記録があります。
このことから、cloud-init による独自のユーザー名・パスワードへの設定処理が行われたことがわかります。
[CLOUDINIT] stages.py[DEBUG]: Running module set-passwords (<module 'cloudinit.config.cc_set_passwords' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_set_passwords.py'>) with frequency once-per-instance]
RedHat と CentOS 、Windows OS では本事象は発生いたしません。
以上のことから、本事象は、Ubuntu の提供する cloud-init の動作の可能性が高いと当サポート部門では判断しております。
そのため、以下の対処策をご実施いただけますと幸いです。
対処策
パスワードのリセットを実行し、新規ログイン ユーザーとパスワードを設定します。
- ポータル(https://portal.azure.com/)にログインし、当該仮想マシンを選択します。
- [サポート + トラブルシューティング] メニュー内の [パスワードのリセット] をクリックします。
- [モード] が [パスワードのリセット] になっていることを確認し、[ユーザー名] 、[パスワード] を設定し、[Update] をクリックします。
- [3.] の手順にて設定した ユーザー名 / パスワードを使用し、 SSH 接続をします。ログインができることを確認します。
日本 We Love Linux 部