virtualboxでホストオンリーアダプターを利用して、SSH接続を行う｜Windows10

## 始めに
Windows10でVirtualboxのホストオンリーアダプターを利用してSSH接続をしようとして、とてもつまったので覚え書きも兼ねて、投稿します。

## 前提
・ホストOSはWindows10です（デフォルトのコマンドプロンプトに入っているSSHコマンドを利用します　参考：http://ascii.jp/elem/000/001/567/1567986/）
・ゲストOSはCentoOS7を利用しています
・ゲストOSをインストールし起動できることが確認できていることを前提とします

## １．Virtuakboxのホストネットワークを設定
Virtualboxの画面で、左上の「ファイル」を選択。その中の「ホストネットワークマネージャー」を選択します。
ホストオンリーアダプターが１つもない場合、作成を押して作成します。
既存の若しくは、作成したアダプターを選択して、プロパティを押します。

<img width="452" alt="Untitled.png" src="https://qiita-image-store.s3.amazonaws.com/0/266280/cc2a6d69-ecf1-2121-8bc5-36fa0ed8bd38.png">


### デフォルトゲートウェイを確認
ここでいったん、windowsでコマンドプロンプトを起動し、

```
ipconfig
```

とコマンドをうち、virtualboxに割り当てられているIPアドレスを確認します。

<img width="453" alt="Untitled1.png" src="https://qiita-image-store.s3.amazonaws.com/0/266280/72a6e356-7e96-a257-fb05-5372703eb682.png">


この、「IPv4 Address」に書かれているIPアドレスが、CentOSがアクセスするデフォルトゲートウェイになります。これを控えておきます。

### Virtualboxにもどる
ここで、「アダプターを手動で設定」を選択して、IPv4アドレスを確認し、先ほどコマンドプロンプトで確認したIPアドレスと同じことを確認します。

<img width="452" alt="Untitled.png" src="https://qiita-image-store.s3.amazonaws.com/0/266280/124cd44b-597b-69b6-bd5f-a3033326ab22.png">

その後、「DHCPアドレス」タブを選択し、「サーバーを有効化」をONにします。
ここで、他に特にいじるところはありませんが、アドレス下限と、アドレス上限をひかえておきましょう。この範囲内にCentOSのIPアドレスを設定しないと、SSH接続ができません。


## ２．CentOSのアダプターに、ホストオンリーネットワークを追加
Virtualboxの画面でCentOSを選択状態で、設定を押します。
左のメニューから、ネットワークを選択し、アダプター１に「NAT」が設定されていることを確認します。アダプター２というタブを押し、「ネットワークアダプターを有効化」をONにします。

<img width="542" alt="Untitled2.png" src="https://qiita-image-store.s3.amazonaws.com/0/266280/c619175d-77d4-9e05-c6a8-de76dbad5358.png">

「割り当て」で「ホストオンリーネットワーク」を選択します。名前は、先ほどホストネットワークの設定でプロパティを設定したアダプターを選択します。


ここまでで、ようやくVirtualbox内での設定は完了です。CentOSを起動します。

## ３．CentOSのIPアドレス設定

コンソールが起動したら、まず

```
$ ip addr
```

とコマンドを打ちます。この時に出てくる設定がCentOSのアダプターの設定です。この時「lo」というローカル設定の次に出てくる、アダプターの名前を何となく覚えておきます。このアダプターの設定をいじります。（アダプターネームは、デバイス？によって異なるようなので、名前での指定はしません）

```
$ nmtui
```

とコマンドを打ちます。

<img width="448" alt="Untitled3.png" src="https://qiita-image-store.s3.amazonaws.com/0/266280/b6c188ba-eed8-1a48-c056-23f98f4290c1.png">

このような画面がでてくると思います。この画面でのフォーカスの移動は十字キー、決定はエンターキーで行います。
「Edit a connection」を選択します。
この画面でのフォーカスの移動は十字キー、決定はエンターキーで行います。ここで、先ほど覚えたアダプターを選択します。

<img width="451" alt="Untitled5.png" src="https://qiita-image-store.s3.amazonaws.com/0/266280/41512729-28c5-1708-61a8-2838fd071f3a.png">

IPv4のshowを押すと、下の画像のような編集エリアがでてきます

<img width="447" alt="Untitled4.png" src="https://qiita-image-store.s3.amazonaws.com/0/266280/5525b775-b434-17e3-2eef-3feac837540b.png">


ここでまず、Addressに、１で確認した範囲内のIPアドレスを入力します。（下限：196.168.56.3 上限：196.168.56.100の場合、頭から３つが196.168.56で最後の部分が４～９９のいずれか）
GatewayとDNS server（DNS serverは不要かもしれません）にWindowsのコマンドプロンプトで確認したIPアドレスを入力します。

完了したらhideを押して、編集エリアをとじ、Ipv6の下にある「Automatically connect」のカッコ内をフォーカスした状態でスペースキーを押し、チェックを入れます。

これで設定は完了です。右下のOKを押し、さらにBackを押して、初期画面でOKを押します。するとコマンド入力が復活するので、そこで、もう一度

```
$ ip addr
```

とコマンドを打つと、先ほど設定したIPアドレスがinetのところに反映されます。

<img width="449" alt="Untitled6.png" src="https://qiita-image-store.s3.amazonaws.com/0/266280/4ef5aa57-e2cb-4bed-9741-bc25d5b987ec.png">

この場合は192.168.56.4です。このIPアドレスにwindowsからSSH通信を行います。


## SSH通信を行う
Windosのコマンドプロンプトにもどり、

```
ssh -l [CentOSのユーザー名] [inetに書いてあったIPアドレス]
```

を実行します。

これでSSH通信が完了し、CentOS内を操作できます。


## 終わりに
IPアドレスを上限下限のところでつまり、configファイルなども直接いじってしまい、かなり詰まりました。CentOSさん的に、configファイルを直接いじることはあまり推奨されていないみたいで、nmtuiで設定方がいいそうです。実際今回も、nmtuiのみですべてどうにかなることだったので今後気を付けたいです。