【VMware vSphere 6 ESXi】 コマンド操作を有効にする手順

VMware vSphere ESXi を構築している時に詳しく状態を知りたいためにコマンドラインからコマンドを実行したい場合があります。

今回は、VMware vSphere ESXi へログインしてコマンドライン操作を有効にする設定手順を記載します。

 

ESXiには複数の操作画面がある

ESXiを操作するためのインタフェースは複数あります。

  • ダイレクト コンソール UI(DCUI)
  • ESXi Shell
  • SSH
  • vSphere Client
  • Web Client

などです。

 

ESXi Shell(以前の名称は Tech Support モード:TSM)を利用すると様々なメンテナンス コマンドが実行できます。

ESXi Shell を利用する場面としては、障害発生時や情報収集、vSphere Client では対応できないような例外的なケースです。

 

SSH経由でのダイレクト コンソール UI(DCUI)操作はできるが推奨されていない

VMware ESXi 5.5.x まではリモート経由(SSH経由)でも「ダイレクト コンソール UI(DCUI)」が使えていましたが、VMware ESXi 6からはリモート経由での「ダイレクト コンソール UI」は利用できなくなったようです。

そのため、ESXiマシンに接続されている「ディスプレイ」と「キーボード」経由でしか使えません。

そもそも以前からリモート経由での「ダイレクト コンソール UI」は、動作保証をしていないようでしたのでサポートがなくなってもしょうがないでしょう。

 

SSH セッションからダイレクト コンソール ユーザー インターフェイス (DCUI) へのアクセス (2096655)

 

「ESXi Shell」と「SSH」の2種類がある

ESXiをコマンドから操作するために2種類の方法が用意されています。

  • ESXi Shell
  • SSH

ESXi Shell

ESXi Shell はコンソールシェルです。

物理的な ESXi 機器につながっている「ディスプレイ」と「キーボード」から操作します。

メリットはネットワークの設定が終わってなくても、障害が発生していても、「ディスプレイ」と「キーボード」さえつながっていれば操作が可能な点です。

デメリットはコンソールなのでコマンド結果やログが遡って確認できません。

 

SSH

パソコンからTeretarmなどでリモートログインして操作します。

メリットはコマンド結果やログを遡って確認できることです。

「ESXi Shell」と「SSH」を有効にする手順

デフォルトでは「ESXi Shell」「SSH」「無効(disable)」になっています。

まずは「有効」に設定しましょう。

 

有効にするためには

  • コンソール(ダイレクト コンソール UI)から設定する手順
  • vSphere Client から設定する手順

の2つがあります。

コンソール画面からの設定手順

まずはESXiのコンソールにログインしましょう。

ESXiのコンソールを「ダイレクト コンソール UI」と呼びます。

1.ESXiにログインする

ESXiの環境をスマホのカメラで写真を撮ったのですが、撮影がうまくなくて少々見にくいかもしれません(笑)

VMware vSphere ESXi のコンソール画面よりログインします。

「F2」キーを押下します。

【VMware vSphere ESXi】 コマンド操作を有効にする手順

 

ログイン画面が表示されるので「アカウント」「パスワード」を入力して「Enter」キーを押下してログインします。

【VMware vSphere ESXi】 コマンド操作を有効にする手順

 

2.ESXi Shell を有効にする

ログインしたら「System Customization」画面が表示されるので「Troubleshooting Options」を選択して「Enter」キーを押下します。

【VMware vSphere ESXi】 コマンド操作を有効にする手順

 

 

「Troubleshooting Mode Options」画面が表示されるので、「Enable ESXi Shell」を選択して「Enter」キーを押下します。

【VMware vSphere ESXi】 コマンド操作を有効にする手順

 

「ESXi Shell is Enabled」に変更されていることを確認します。

【VMware vSphere ESXi】 コマンド操作を有効にする手順

 

 

3.SSH を有効にする

続けてSSHを有効にします。

「Enable SSH」を選択して「Enter」キーを押下します。

【VMware vSphere ESXi】 コマンド操作を有効にする手順

 

「SSH is Enabled」になっていることを確認します。

【VMware vSphere ESXi】 コマンド操作を有効にする手順

 

以上でコンソールからの設定は完了です。

 

vSphere Client から ESXi Shell と SSH を有効にする手順

「vSphere Client」から「ESXi Shell」と「SSH」を有効にする手順もあります。

1.vSphere Client へログインする

「スタート」ボタンから「全てのプログラム」-「VMware」-「VMware vSphere Client」をクリックして vSphere Client を起動します。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

「IPアドレス」「ユーザー名」「パスワード」を入力して「ログイン」ボタンをクリックします。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

2.ESXi Shell を有効にする

ログインしたら「構成」タブをクリックして「セキュリティプロファイル」をクリックします。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

「サービスプロパティ」画面が表示されるので「ESXi Shell」を選択して「オプション」ボタンをクリックします。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

「ESXi Shell (TSM) オプション」画面が表示されるので「手動で開始および停止」にチェックを入れ、「開始」ボタンをクリックします。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

ステータスが「実行中」になっていることを確認して「OK」ボタンをクリックします。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

3.SSHを有効にする

続けてSSHを有効にします。

「サービスプロパティ」から「SSH」を選択して「オプション」ボタンをクリックします。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

「SSH(TSM-SSH)オプション」画面が表示されるので「手動で開始および停止」にチェックを入れて「開始」ボタンをクリックします。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

ステータスが「実行中」になっていることを確認し「OK」ボタンをクリックします。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

「OK」ボタンをクリックして画面を閉じます。

vSphere Client から ESXi Shell と SSH を有効にする手順

 

Teraterm で SSH での ESXi ログイン方法

実はTeratermを起動して直接 ESXi へ SSH ログインをしようとしても以下の画面のように認証でエラーになります。

 

「認証に失敗しました。再試行してください」のメッセージが出て、「プレインパスワードを使う」から「RSA/DSA/ECDSA/ED25519鍵を使う」にフォーカスが移ります。

Teratermを起動して直接 ESXi へ SSH ログインをしようとしても以下の画面のように認証でエラーになります

 

この場合は、「秘密鍵を指定しないとダメなのか?」と思うかもしれませんが、どうやら VMware vSphere ESXi へ SSH ログインする場合は、直接ログインできないようです。

※rootアカウントだけでなく一般アカウントでも直接ログインはできないようです。

その場合は、以下のように「踏み台のLinuxマシン」を経由して ESXi へ SSH ログインします。

 VMware vSphere ESXi へ SSH ログインする場合は、直接ログインできない

 

一度 Linux にログインしてから ssh コマンドで ESXi へ SSH ログインをします。

Last login: Thu Jun  1 20:51:11 2017 from 192.168.226.1
-bash-4.2$ ssh root@192.168.1.7 ← 一回 Linux マシンにログインして、そこから ssh コマンドで ESXi へ SSH ログインします。
The authenticity of host '192.168.1.7 (192.168.1.7)' can't be established.
RSA key fingerprint is c5:b3:b2:c1:7b:5c:6e:02:97:73:c4:53:ae:2f:80:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.7' (RSA) to the list of known hosts.
Password:
The time and date of this login have been sent to the system logs.

VMware offers supported, powerful system administration tools.  Please
see www.vmware.com/go/sysadmintools for details.

The ESXi Shell can be disabled by an administrative user. See the
vSphere Security documentation for more information.
[root@localhost:~] ←ログインした状態です。

 

コマンドは [Tab] キー押下で一覧が表示される

情報が少ないのですが、ESXi コマンドは [Tab] キー押下で一覧表示されます。

[root@localhost:~]
BootModuleConfig.sh          hbrfilterctl                 sed
InstallHelper.sh             head                         sensord
Xorg                         hexdump                      seq
[                            host-ind                     services.sh
[[                           host_reboot.sh               setsid
amldump                      host_shutdown.sh             sfcb-config.py
apply-host-profiles          hostd                        sfcbd
applyHostProfile             hostd-probe                  sh
applyHostProfileWrapper      hostname                     sha1sum
ash                          hwclock                      sha256sum
authd                        indcfg                       sha512sum
auto-backup.sh               inetd                        sharedStorageHostProfile.sh
awk                          init                         shutdown.sh
backup.sh                    init-launcher                sleep
basename                     initterm.sh                  slpd
bootOption                   install                      smartd
cat                          irqinfo                      smbiosDump
chardevlogger                isoinfo                      snmpd
check_serial                 jumpstart                    sort
chgrp                        kdestroy                     ssh
chkconfig                    kill                         stat
chmod                        kinit                        storageRM
chown                        klist                        strace
chvt                         less                         stty
cim-diagnostic.sh            lldpnetmap                   sum
cim_host_powerops            ln                           summarize-dvfilter
cimslp                       localcli                     sync
cksum                        lockfile                     tail
clear                        logchannellogger             tar
cmmds-tool                   logger                       tcpdump-uw
cp                           login                        techsupport.sh
cpio                         ls                           tee
crond                        lsof                         test
cut                          lspci                        ticket
date                         lsusb                        time
dcbd                         lzop                         timeout
dcui                         lzopcat                      tmpwatch.py
dcuiweasel                   mcopy                        touch
dd                           md5sum                       tracenet
debugfs                      memstats                     traceroute
df                           mkdir                        true
dhclient-uw                  mkfifo                       tune2fs
diff                         mknod                        uname
dirname                      mktemp                       uniq
dmesg                        more                         unlzop
dnsdomainname                mv                           unzip
doat                         nc                           upgrade-snmp.py
dosfsck                      net-cdp                      uptime
du                           net-dvs                      usleep
echo                         net-lacp                     uwstats
egrep                        net-lbt                      vdf
eject                        net-stats                    vdq
enum_instances               nfcd                         vdu
env                          nohup                        vi
esxcfg-advcfg                nologin                      vim-cmd
esxcfg-dumppart              nslookup                     vm-support
esxcfg-fcoe                  ntfscat                      vmcp
esxcfg-hwiscsi               ntp-keygen                   vmdumper
esxcfg-info                  ntpd                         vmfs-support
esxcfg-init                  ntpdc                        vmfsfilelockinfo
esxcfg-ipsec                 ntpq                         vmkbacktrace
esxcfg-module                od                           vmkchdev
esxcfg-mpath                 openssl                      vmkdevmgr
esxcfg-nas                   openwsmand                   vmkdump_extract
esxcfg-nics                  pam_tally2                   vmkerrcode
esxcfg-rescan                partedUtil                   vmkfstools
esxcfg-resgrp                passwd                       vmkiscsi-tool
esxcfg-route                 pci-info                     vmkiscsid
esxcfg-scsidevs              pcscd                        vmkload_mod
esxcfg-swiscsi               pgrep                        vmkmkdev
esxcfg-vmknic                pidof                        vmkperf
esxcfg-volume                pigz                         vmkping
esxcfg-vswitch               ping                         vmkramdisk
esxcli                       ping6                        vmkvsitools
esxcli.cgi                   pkill                        vmtar
esxcli.py                    pktcap-uw                    vmware
esxhpcli                     powerOffVms                  vmware-autostart.sh
esxhpedit                    poweroff                     vmware-usbarbitrator
esxtop                       printf                       vmware-vimdump
esxupdate                    prop_of_instances            vmx
ethtool                      ps                           vmx-buildtype
expr                         python                       vmx-debug
false                        randomSeed                   vmx-stats
fdisk                        readlink                     voma
fgrep                        reboot                       vprobe
find                         remoteDeviceConnect          vscsiStats
firmwareConfig.sh            reset                        vsi_traverse
ft-stats                     resize                       vsish
gdbserver                    rhttpproxy                   vvold
generate-certificates        rm                           watch
genisoimage                  rmdir                        watchdog.sh
getty                        runInRP                      wc
gpuvm                        scantools                    wget
grabCIMData                  sched-stats                  which
grep                         schedsnapshot                who
gunzip                       scp                          xargs
gzip                         sdrsInjector                 xkbcomp
halt                         secpolicytools               zcat
[root@localhost:~]

 

まとめ

一番便利なのが SSH ログインでのコマンドライン操作ですが、Teraterm で直接ログインできませんでした。

当初は設定が間違っているのかと思いましたが、ping も通りますしファイアウォールでのブロックもない状態でしたので他の Linux マシンから ssh コマンドでログインを試みたところログインできました。

 

おそらく私の環境だけの問題ではなく、他の環境でも同じ症状になると思います。

のちほど原因を調べてみようと思います。

 

あとは、「ESXi Shell」と「SSH」の有効・無効の設定は、「ダイレクト コンソール UI」からでも「vSphere Client」からでもどちらでもできます。

 

追記(2017年9月6日)

以下、コメントをいただきました。

ありがとうございます。

 

名無しさん より:

チャレンジレスポンス認証でログインできるのでは?」

 

名無しさん より:

putty で直接ログインできます。」

 

 

早速試してみました。

 

Teraterm の「チャレンジレスポンス認証を使う」でログイン可能だった

Teratermを起動します。

Putty でログイン可能だった

 

ユーザ名は「root」を入力します。

ここで「チャレンジレスポンス認証を使う(キーボードインタラクティブ)」にチェックを入れて「OK」ボタンをクリックします。

Teraterm の「チャレンジレスポンス認証を使う」でログイン可能だった

 

 

SSH 認証チャレンジ画面が表示されるのでパスワードを入力します。

Teraterm の「チャレンジレスポンス認証を使う」でログイン可能だった

 

 

Teraterm より直接ログインできました!

Teraterm の「チャレンジレスポンス認証を使う」でログイン可能だった

 

PuTTY でログイン可能だった

PuTTYでも直接ログインが可能でした。

 

以下より日本語化 PuTTY(PuTTYjp)をダウンロードします。

http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html

 

 

ファイルをダウンロードしたら解凍します。

「puttyjp.exe」をダブルクリックします。

 

IPアドレスを入力して「開く」ボタンをクリックします。

※デフォルトのままで何も設定変更をしていません。

 

 

 

下図のようなログイン画面が表示されることを確認します。

Putty でログイン可能だった

 

 

アカウント(root)を入力して「Enter」を押下します。

Putty でログイン可能だった

 

 

パスワードプロンプトが表示されるのでパスワードを入力して「Enter」を押下します。

Putty でログイン可能だった

 

 

直接ログインできることが確認できました!

Putty でログイン可能だった

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

“【VMware vSphere 6 ESXi】 コマンド操作を有効にする手順” への5件のフィードバック

  1. 名無しさん より:

    チャレンジレスポンス認証でログインできるのでは?

    • 100%レンタルサーバーを使いこなすサイト管理人 より:

      ありがとうございます!
      早速試してみたところログインできました。

  2. 名無しさん より:

    putty で直接ログインできます。

    • 100%レンタルサーバーを使いこなすサイト管理人 より:

      ありがとうございます!
      PuTTYでログインを試してみたところ、直接ログインできました。

  3. 名無しさん より:

    コンソール上で、コンソールログインプロンプトを表示するためには、「Alt」+「F1」を押下します。

コメントを残す

メールアドレスが公開されることはありません。