(UIやコマンド結果を最新のものに更新しました)
1. はじめに
IBM CloudのVSI for VPCにおけるWindows環境のAdministratorのパスワードは、サーバー作成時に指定したSSH鍵(公開鍵)によって暗号化されているため、ログインする際にはまずパスワードを入手する必要があります。
パスワードを取得する方法はIBM Cloud docsに記載されており、ibmcloud is instance-initialization-values INSTANCE [--private-key (KEY | @KEY_FILE)]
を使うように指示があります。
ibmcloud is instance-initialization-valuesを使った実行例
$ ibmcloud is instance-initialization-values syasuda-win22-nonsec --private-key @.ssh/id_rsa
Getting instance initialization values for syasuda-win22-nonsec under account itz-cp-jpn as user xxx@xx.xxx.xxx...
Keys ID Name Fingerprint
r022-2d4b168f-5dc7-4170-8a52-e9036165eef1 key-syasuda SHA256:xxxxxxxxxxxxxxxxx
Encrypted password xxxxxxxxxxxxxxxxx
Encryption key CRN xxxxxxxxxxxxxxxxx
Password xxxxxxxxxxxxxxxxx
でも、ここにEncrypted Passwordがすぐコピペで使えるように記載があるのに・・・と思ったので、直接このEncrypted Passwordからパスワードを復号する方法を紹介します。
2. 復号方法
Encrypted Passwordは=
で終わっているので、きっとBase64でEncodeされているのでしょう。というので、Base64でDecodeした後、opensslコマンドで秘密鍵を使って復号できました。
opensslを使った実行例
$ echo <Encrypted Password> | base64 -d | openssl rsautl -decrypt -inkey .ssh/id_rsa
xxxxxxxxxxxxxxxxx