世界のやまさ

SEKAI NO YAMASA

Azure ARM (リソース マネージャー) な Linux に SSH できなかった場合の対処方法

問題

ARM(Azure Resource Manager) で作成した Linux(Ubuntu LTS 14.04) を使用してたのですが、なぜかログイン出来なくなりました。パスワードも合っているはずなのになーと困りました。

問題の詳細

今回困ったポイントは2つ。

ひとつめ。ARM は新しいPortalから作成できるVMで、Portal上からパスワードリセットが出来ない。

ふたつめ。PowerShellの例が多い。PowerShellとかWindows普段使ってないし、入っててもあまり使う気が起きないので別な方法でやりたい。

ちなみにPowerShellでやる場合は次のblogが参考になると思います。

解決策

Azure CLI(コマンドラインインターフェース) をインストールする

Azure コマンド ライン インターフェイスのインストール | Microsoft Azure

Mac, Linux, Windows すべてインストール可能です。

ARM モードにする

➜  ~  azure config mode arm
info:    New mode is arm

SSH をリセットする

-g がリソースグループ、 -n がVMの名前です。10分ぐらいかかるので気長に待ちましょう

➜  ~  azure vm reset-access -g group -n linux -r
info:    Executing command vm reset-access
+ Looking up the VM "linux"                                            
+ Installing extension "VMAccessForLinux", VM: "linux"                 
info:    vm reset-access command OK

パスワードを設定する

-g-n は先ほどと同じです。

-u がユーザー、 -p はパスワード。

➜  ~  azure vm reset-access -g group -n linux -u nnasaki -p password
info:    Executing command vm reset-access
+ Looking up the VM "linux"                                            
+ Installing extension "VMAccessForLinux", VM: "linux"                 
info:    vm reset-access command OK

SSH でアクセスする

そのまま繋ごうとするとフィンガープリントが変わっているので、 known_hosts から消します。次の例ですと、known_hosts の 38 行目を消します。

➜  ~  ssh nnasaki@linux.japanwest.cloudapp.azure.com                        
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
03:4a:05:57:ce:1a:92:4e:6d:93:e0:2b:59:4e:62:d6.
Please contact your system administrator.
Add correct host key in /Users/nnasaki/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/nnasaki/.ssh/known_hosts:38
RSA host key for linux.japanwest.cloudapp.azure.com has changed and you have requested strict checking.
Host key verification failed.
➜  ~  vi ~/.ssh/known_hosts   

再び ssh すると無事に繋がりました。

まとめ

実は azure のドキュメントに書いてありました。クラシックもARMも両方書いてあります。Azure は Portal もクラシックと新しいのがあって、それぞれ出来ることが少しずつ違うので、ちょっとややこしいですよねぇ。

azure.microsoft.com

おまけ:パスワードは大事にしましょう

www.ipa.go.jp f:id:nnasaki:20151211113030p:plain