のぴぴのメモ

自分用のLinuxとかの技術メモ

ESXi5 SSH 有効化&鍵認証(TeraTermの自動ログインマクロ付)

VMware ESXi5をSSHでリモートで操作したい場合の設定手順を記録する。

1.ESXのSSHサービスを有効にする

SSHのサービス有効化は、コンソール画面とvSphereClientの2通りのがあるらしい。
ここではコンソール画面からの変更を記載する。

  • "F2"キーを押し、コンソールにログインする
  • "Trubleshooting Options"を選択する
  • "Enable SSH"を選択し「リターン」キーを押す

これでSSHが有効化される。

ちなみにコンソール画面から直接操作するには、ひとつ上の項目"Enable ESXi shell"を有効化する。ついでに、コンソールシェル(ESXi shell)も有効化する。(必須ではない)

  • "Trubleshooting Options" -> "Enable ESXi shell"でシェルを有効かする。
  • ESXi shellを有効化したあと"ALT+F1"キーを押すとシェル画面に切り替わる
  • 元の画面(System Coustomization)に戻るには、"ALT+F2"キーを押す

2.TeraTermからパスワード認証ログインを確認

TeraTermからSSHのパスワード認証でログイン可能なことを確認する。ここで中が必要なのは、ESXi5では「チャレンジレスポンス認証」を利用しているらしく、TeraTermSSH認証で「チャレンジレスポンス認証を使う(キーボードインタラクティブ)」を選択する必要があることである。(下図参照)
f:id:nopipi:20121117215649p:plain

3.鍵の設定

SSHでとりあえずログインできることを確認したら、ESXiにログインに利用する公開鍵を登録する。

  • TeraTermで鍵を作成する(詳細はググルこと)
    • 「設定(S)」->「SSH鍵生成(N)」を選択
    • 鍵の種類を「RSA」にして「生成(G)」ボタンで鍵を生成
    • 公開鍵&秘密鍵を保存する
  • ESXiにパスワード認証でログインする

~ # cd /etc/ssh/keys-root
/etc/ssh/keys-root #
  • TeraTermで作成した公開鍵をエディタで開きファイル内の文字列をauthorized_keysに貼り付ける
/etc/ssh/keys-root # cat > authorized_keys
<<公開鍵のテキストカット&ペーストする>>
"CTL+D"を押すと入力終了する
/etc/ssh/keys-root #
  • TeraTermから鍵認証でログインできることを確認する
  • TeraTermからESXiにSSH接続
  • SSH認証画面で「RSA/DSA鍵を使う」を選択し、秘密鍵のファイルを指定

f:id:nopipi:20121117220601p:plain

4.TeraTerm鍵認証による自動ログインマクロ

参考までに、SSH鍵認証の場合の自動ログインマクロを公開。

; ==========================================================
; Setting (IP, UserName, KEY file)
HOSTADDR = 'xxx.xxx.xxx.xx'       ;ESXiのIPアドレス
USERNAME = 'root'
KEY_FILE = 'xxxxxxxxxxxxxxxxxxxx' ;ログインに使用する秘密鍵
CNF_FILE = 'xxxxxxxxxxxxxxxxxxxx' ;TeraTermの設定ファイル
; ==========================================================


;; Generate login command
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /keyfile="'
strconcat COMMAND KEY_FILE
strconcat COMMAND '" /F="'
strconcat COMMAND CNF_FILE
strconcat COMMAND '"'

;; Login
connect COMMAND
wait '~ #'

end