VMWare ESXiで管理サーバーへのSSH接続を有効にする方法

#VMWare ESXi

## VMWare vSphere Clientから仮想マシンにコピー&ペーストできるようにする。

###1.1  仮想マシンの電源を切る
###1.2 仮想マシンを右クリック-「設定の編集」より仮想マシンのプロパティを開く
###1.3 「オプション」タブの[詳細]-[全般]より右下の[構成のパラメータ]をクリック
###1.4 下記パラメータを追加
~~~
isolation.tools.copy.disable : false
isolation.tools.paste.disable : false
~~~
###1.5 設定終了

## ESXiの起動時にSSH接続を有効にする。

###1.1 GUIでSSHサービスを起動する
[構成]タブをクリック
![ESXi Client](https://qiita-image-store.s3.amazonaws.com/0/9023/10f98345-a8fc-9d4e-bf8e-753ccab732e2.jpeg)
)
[セキュリティプロファイル]をクリック
![ESXi2.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/7ab6955d-3bee-4f1e-8ae9-69303874785a.jpeg)

[プロパティ]をクリック
![ESXi3.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/8b344d31-0f0b-6807-2d87-d07b404d9136.jpeg)

[SSH]を選択　→　[オプション]をクリック
![ESXi3.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/b53534d1-1c35-1f63-b10f-07629e833ea4.jpeg)

[ホストに連動して開始および停止]を選択　→　[OK]をクリック
![ESXi4.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/8f0aa01c-d01e-f92f-798d-c13e79ef07b0.jpeg)

[ESXiシェル]を選択　→　[オプション]をクリック
![ESXi4.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/8f72cef7-de4f-e7df-7605-57b2bf2859cb.jpeg)

[ホストに連動して開始および停止]を選択　→　[OK]をクリック
![ESXi5.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/c8013ae8-e685-eba8-ab3b-c23dc305c161.jpeg)

[OK]をクリック
![ESXi6.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/cb106623-7539-598e-2484-5232397ddd1f.jpeg)

設定終了
![ESXi9.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/cae07353-a1cb-3626-6887-20c852369997.jpeg)

再起動
![ESXi10.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/2c638ef6-b75a-fe16-77cd-586cf3a1fe07.jpeg)

再起動後　→　[サービス]に "ESXi シェル" と "SSH" が表示されていることを確認
![ESXi11.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/3bb3eb62-e0be-3bdb-b47e-969b24de6d93.jpeg)

サービスプロパティで確認　→　"ESXi シェル" と "SSH" が"実行中"になっていることを確認
![ESXi12.jpg](https://qiita-image-store.s3.amazonaws.com/0/9023/0b173deb-79ab-6f36-48f6-4e33aedcb2b5.jpeg)

###1.2 公開鍵認証方式に変更する
[Enabling Password Free SSH Access on ESXi 5.0](http://blogs.vmware.com/vsphere/2012/07/enabling-password-free-ssh-access-on-esxi-50.html)

==秘密鍵(id_rsa or id_dsa)に、パスフレーズが設定されている場合は、パスフレーズを削除しておく。==

- id_rsaキーからパスフレーズを削除して、差分を確認(identicalと表示される場合は、差分なし＝オリジナルのid_rsaにもパスフレーズが設定されていなかったという意。)

~~~sh
openssl rsa -in <id_rsaキー> -out <パスフレーズを削除したid_rsaキーを保存する場所>
diff -s <元のid_rsaキー> <パスフレーズ削除済みのid_rsaキー>
#Files <id_rsa> and <new_id_rsa> are identical
~~~

####1.2.1 ESXiの/etc/ssh/keys-root/authorized_keysに、公開鍵(id_rsa.pub)を追加する。


####1.2.2 SSHでのログインを鍵認証のみ許可する

#### ルートログインの許可、パスワードでの認証とチャレンジ/レスポンス認証を無効化する
- /etc/ssh/sshd_config

~~~sh
PermitRootLogin yes
PasswordAuthentication no
ChallengeResponseAuthentication no
~~~

####1.3 sshサービスを再起動する

~~~sh
/etc/init.d/SSH restart
~~~

####1.4 設定内容の確認

- パスワード認証ができなくなっているか確認(パスワード認証は危険なので無効化してあるはず)

~~~sh
ssh root@131.113.102.231 
~~~

- 秘密鍵を使ってログインできるかを確認→ログイン成功

~~~sh
ssh -i <パスフレーズ無しのid_rsaキー> root@<ESXiのIPアドレス>
~~~

## シンプロビジョニングで確保されたvmdkファイルを縮小する

###1 ESXi自体にsshでログインして下記コマンドを実行

~~~sh
vmkfstools --punchzero 圧縮したいvmdkファイル
~~~

## VMWare ESXi上に、vm間で共通アクセス可能な仮想共有ディスクファイルを作成する
[インフラ構築手順書 VMware ESXiに仮想共有ディスクファイルを作成する](http://infra.blog.shinobi.jp/Entry/51/)

|**設定項目**|**設定値**|
|---|---|
| 仮想共有ディスクのvmdkファイルを置く場所 | /vmfs/volumes/datastore1/shared_datastore |
|仮想共有ディスクファイル名|shared1.vmdk|
|仮想共有ディスクの容量|10GB|

~~~sh
mkdir /vmfs/volumes/datastore1/shared_datastore
vmkfstools -d eagerzeroedthick -c 10G /vmfs/volumes/datastore1/shared_datastore/shared1.vmdk
~~~

1つ目の仮想共有ストレージ設定

　・「vSphereClient」でESXiサーバへアクセスする
　・対象の仮想マシンの「サマリ」タブにある「設定の編集」をクリックする
　・「仮想マシンのプロパティ」画面の「ハードウェア」タブで「追加」をクリック
　・「ハードウェアの追加」ウィザードが起動し、「デバイスタイプ」画面で「ハードディスク」を選択し、「次へ」をクリック
　・「デバイスの選択」画面で「既存の仮想ディスクを使用」を選択し、「次へ」をクリック
　・「既存のディスクの選択」画面で、事前に作成した「共有ストレージファイル」を選択し、「次へ」をクリック
　・「詳細オプション」画面で下記の内容を設定し、「次へ」をクリック
　　
　　・仮想デバイスノード「SCSI（1:0）」※新しいSCSIコントローラを選択する（1:0）
　　・モード：独立型（通常） 　　
　・「終了準備の完了」画面で、内容を確認し、「次へ」をクリック
　・「仮想マシンのプロパティ」画面に戻って、先ほど新規のSCSIコントローラを指定したので、「新規SCSIコントローラ」が作成されていることを確認する。
　 　・「仮想マシンのプロパティ」画面の「新規SCSIコントローラ」を選択し、「SCSIパスの共有」を「物理」に変更する。その後、「OK」をクリック



２つ目以降の仮想共有ストレージ設定

「既存のディスクの選択」画面までは、「一つ目の仮想共有ストレージ設定」と同様に行う。
　・「詳細オプション」画面で下記の内容を設定し、「次へ」をクリック
　　・仮想デバイスノード「SCSI（1:1）」※先ほど追加したSCSIコントローラを選択する（1:1）
　　・モード：独立型（通常）
　　※デバイスノードIDを変更して作成する。
　・「終了準備の完了」画面で、内容を確認し、「次へ」をクリック
　・「仮想マシンのプロパティ」画面に戻って、ハードディスクのみが追加されていることを確認する。その後、「OK」をクリック
　
#VMのHDD容量を拡大する
こちらのサイトが参考になります。
[【CentOS】LVMでディスク容量を拡張（VMwareのHDD容量を増やす）](http://se-suganuma.blogspot.jp/2009/04/centoslvmvmwarehdd.html)

- vSphere Client上でHDD容量を拡大した後、VM上で下記コマンドを実行します。

- fdiskでlvm用のパーティションを作成。 (n->p->3->t->3->8e->w)

~~~sh
df -mH
fdisk /dev/sda
コマンド (m でヘルプ): p

Disk /dev/sda: 42.9 GB, 42949672960 bytes 
255 heads, 63 sectors/track, 5221 cylinders 
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System 
/dev/sda1   *           1          13      104391   83  Linux 
/dev/sda2              14        2610    20860402+  8e  Linux LVM

コマンド (m でヘルプ): n 
コマンドアクション 
   e   拡張 
   p   基本領域 (1-4) 
p 
領域番号 (1-4): 3 
最初 シリンダ (2611-5221, default 2611):（リターン） 
Using default value 2611 
終点 シリンダ または +サイズ または +サイズM または +サイズK (2611-5221, default 5221):（リターン） 
Using default value 5221

コマンド (m でヘルプ): p

Disk /dev/sda: 42.9 GB, 42949672960 bytes 
255 heads, 63 sectors/track, 5221 cylinders 
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System 
/dev/sda1   *           1          13      104391   83  Linux 
/dev/sda2              14        2610    20860402+  8e  Linux LVM 
/dev/sda3            2611        5221    20972857+  83  Linux

コマンド (m でヘルプ): t 
領域番号 (1-4): 3 
16進数コード (L コマンドでコードリスト表示): 8e 
領域のシステムタイプを 3 から 8e (Linux LVM) に変更しました

コマンド (m でヘルプ): p

Disk /dev/sda: 42.9 GB, 42949672960 bytes 
255 heads, 63 sectors/track, 5221 cylinders 
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System 
/dev/sda1   *           1          13      104391   83  Linux 
/dev/sda2              14        2610    20860402+  8e  Linux LVM 
/dev/sda3            2611        5221    20972857+  8e  Linux LVM

コマンド (m でヘルプ): w 
領域テーブルは交換されました！

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。 
カーネルはまだ古いテーブルを使っています。 
新しいテーブルは次回リブート時に使えるようになるでしょう。 
ディスクを同期させます。
~~~

- fdiskが終了するので再起動 

~~~sh
reboot
~~~

- LVM物理ボリュームを作成、vgdisplayコマンドでVolumeGroup名を確認しておきます。

~~~sh
pvcreate /dev/sda3
vgdisplay
~~~

- 上で表示されたボリュームグループに物理ボリュームを割り当てる。
- 論理ボリュームを増加させる。
- ファイルシステムサイズの再認識 

~~~sh
vgextend VolGroup /dev/sda3
lvextend -L +20Gb /dev/VolGroup/lv_root 
resize2fs /dev/VolGroup/lv_root 
df -mH
~~~

#ESXIのライセンスを無償版へ切り替える
##1 公式ページで、ライセンスを取得します。
https://www.vmware.com/jp/tryvmware/?p=free-esxi5&lp=default

##2 vSphere Client上で、ホーム->インベントリ->サーバーを右クリックし、メンテナンスモードへ切り替えます。

##3 構成タブ->ソフトウェア->ライセンス機能を選択し、右上の編集ボタンを選択します。

##4 このホストに新規のライセンスキーを割り当てるを選び、キーを入力->1で取得したキーを入力し、完了です。