OpenSSL Tips/Windows Azure+α

Windows Azure仮想マシンを立ち上げるときに必要な証明書を発行する

こんにちは、株式会社CFlatです。

クラウドプラットフォームであるWindows Azureを使う機会がありました。仮想マシンを立ち上げる際に証明書を作成してアップロードするというプロセスが必要になったのですが、やり方がわからずに同じ事を何回も調べていることに気がついたのでまとめておきます。

そもそもこのプロセスで躓いた理由の一つに、AWSと勝手が違うからということがあります。AWSインスタンスを立ち上げる際はウィザードやGUIコンソールからKey Pairを生成し、鍵をダウンロードするという形をとります。

ところが、Windows Azureでは自分で生成したものをアップロードするという手順が必要となります。

ここで必要と言われているX.509証明書の生成方法がググってもほとんど出て来なかった(気がする)のでここで紹介しておこうと思います。opensslを使います。

$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private_key.key -out public_key.pem

仮想マシン生成時にはこのコマンドで生成されたpublic_key.pemをアップロードすればOKです。
sshでログインするには

$ chmod 600 private_key.key

とした上で

  $ ssh -i private_key.key azureuser@yourmachine.cloudapp.net

などとすればOKです。生成した証明書が正しく使われていることがわかります。

メッセージダイジェストを計算する

opensslでメッセージダイジェストを計算することができます。よくある、ダウンロードファイルの破損をMD5チェックサムするようなアレですね。opensslを使えばコマンドラインから簡単に実行できるので便利です。

$ openssl dgst -md5 some_file.txt

他にも色々なアルゴリズムが提供されているので大抵のハッシュをチェックできます。

  • -md5 to use the md5 message digest algorithm (default)
  • -md4 to use the md4 message digest algorithm
  • -md2 to use the md2 message digest algorithm
  • -sha1 to use the sha1 message digest algorithm
  • -sha to use the sha message digest algorithm
  • -sha224 to use the sha224 message digest algorithm
  • -sha256 to use the sha256 message digest algorithm
  • -sha384 to use the sha384 message digest algorithm
  • -sha512 to use the sha512 message digest algorithm