Oracle Cloud: Windows へ シリアル・コンソール接続で VNC アクセスしてみてみた


Oracle Cloud Infrastructure (OCI)のコンピュート・インスタンスは、シリアル・コンソール接続を使用して、インスタンスの誤動作をリモートでトラブルシューティングできます。
そして、インスタンスに対してコンソール接続を作成した後、VNCクライアントを使用して接続できます。

VNCコンソール接続はSSHポート転送を使用して、ローカル・システムからインスタンスのコンソールにアタッチされたVNCサーバーへのセキュアな接続を作成します。この方法はインターネット経由でVNCを使用する安全な方法ですが、ローカル・システム上のポートを開くと、VNCクライアントが接続するまでの間、システム上のすべてのユーザーがそのポートを使用できるようになることを、マルチユーザー・システムの所有者は知っておく必要があります。このため、ポートを保護する適切な処置を取る場合を除き、マルチユーザー・システムでこの製品を使用することはお薦めしません。

とういことで、MacBook に VNCクライアントをインストールして、シリアル・コンソール接続でセキュア・トンネルを作成しVNCアクセスしてみてみます。


# ■ シリアル・コンソール接続で Windows コンピュート・インスタンス へ SSHトンネルを設定

## 1) OCI コンピュート画面
Oracle Cloud Infrastructureコンソールのインスタンスの詳細ページで、「リソース」の下の[コンソール接続] をクリック
![01_コンソール接続01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/be88554a-a2c5-5cde-2726-2fa30c84aaa4.jpeg)


## 2) コンソール接続の作成画面
コンソール接続に必要な ssh鍵を設定
![01_コンソール接続02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/64531bac-7376-da56-7471-1ada5b7e6abd.jpeg)

## 3) コンソール接続画面
「アクション」メニューをクリックし、[Linux/MacのVNC接続のコピー] をクリック
![01_コンソール接続04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/6c3621fd-c5a5-c033-a835-8007974a2ad3.jpeg)


## 4) MacBook ターミナル起動
MacBook で ターミナルを起動
<img width=400 alt="00_iTerm起動_00.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/3207f403-43a3-5baf-81a3-33e994b8ac16.jpeg">


## 5) SSHトンネル実行

前のステップでコピーした接続文字列を、Mac OS X または Linuxシステムのターミナル・ウィンドウに貼り付け、[Enter]を押下してセキュア接続を実行
SSHキーの秘密キー(例: id_rsa)を指定して接続するよう sshオプションの -i を含むようにシリアル・コンソール接続文字列を次の行に示すように、SSH接続とSSH ProxyCommandの両方にこのフラグを指定します

**・ コピー内容**

```bash
ssh -o ProxyCommand='ssh -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrssl65iqcxcroxoj6a@instance-console.ap-tokyo-1.oci.oraclecloud.com' -N -L localhost:5900:ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqceafvzslx:5900 ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqceafvzslx
```

**・ -i id_rsa を指定して実行**
コピーした接続文字列へ SSHキーの秘密キー(例: id_rsa)を指定してSSHトンネル接続を作成

```bash
ssh -i id_rsa -o ProxyCommand='ssh -i id_rsa -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrssl65iqcxcroxoj6a@instance-console.ap-tokyo-1.oci.oraclecloud.com' -N -L localhost:5900:ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqceafvzslx:5900 ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqceafvzslx
```

**・ 実行出力内容**
SSHトンネル実行
Are you sure you want to continue connecting (yes/no)? と表示されたら `yes`を入力して[Enter]

```bash
macbook:~ $ ssh -i id_rsa -o ProxyCommand='ssh -i id_rsa -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrssl65iqcxcroxoj6a@instance-console.ap-tokyo-1.oci.oraclecloud.com' -N -L localhost:5900:ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqceafvzslx:5900 ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqceafvzslx
	Warning: the RSA host key for '[instance-console.ap-tokyo-1.oci.oraclecloud.com]:443' differs from the key for the IP address '[140.0.0.101]:443'
	Offending key for IP in /Users/shirok/.ssh/known_hosts:10
	Matching host key in /Users/shirok/.ssh/known_hosts:74
	Are you sure you want to continue connecting (yes/no)? yes

	=================================================
	IMPORTANT: Use a console connection to troubleshoot a malfunctioning instance. For normal operations, you should connect to the instance using a Secure Shell (SSH) or Remote Desktop connection. For steps, see https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/accessinginstance.htm

	For more information about troubleshooting your instance using a console connection, see the documentation: https://docs.cloud.oracle.com/en-us/iaas/Content/Compute/References/serialconsole.htm#four
	=================================================
```

# ■ MacBook から VNC接続
MacBook へ VNCクライアントの RealVNC をインストールします。



## 1）RealVNC を Download/Install
RealVNC へブラウザアクセス して、VNC Viewr を Download/Install
RealVNC: https://www.realvnc.com/en/connect/download/viewer/
![02_VNC接続00.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/25b708fb-a934-7649-22a6-0eb3e9a0ef48.jpeg)



## 2) VNC Viewer実行
<img width=400 alt="02_VNC接続01.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/1de0cff3-5145-f387-af98-12ea22768271.jpeg">


## 3) VNC Viewer画面: New connection作成
　右クリックして [New connection]をクリック
![02_VNC接続03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/959dfffd-7703-f7b9-f087-537ff6ee08a8.jpeg)


## 4) New connection画面 
VNC Server項目へ `localhost` を入力して、[OK] をクリック
![02_VNC接続04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/ded8e5ef-cf3f-a57e-9497-4e3e71ce81cb.jpeg)

## 5) Connection実行
作成した Connection をクリック
![02_VNC接続05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/24dcbe2d-8d11-09f3-d389-7908cfd86a98.jpeg)

## 6) Encryption画面
[Continue]をクリック
![02_VNC接続06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/2f2a6282-8c37-b01d-d1ab-8f809525df9d.jpeg)

## 7) WindowへVNCアクセス完了
`Ctrl + Alt + Delete` をクリック 
Mac OSの場合、`fn + control + option + delete` をクリック

![02_VNC接続07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/1da476f5-e641-8361-04b5-caa505f4aa93.png)


## 8)  Windows User Login
![ 02_VNC接続08.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/e51b6426-9fd5-b452-485d-65980487c30b.jpeg)

## 9) Windows Login完了
![02_VNC接続09.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/590615fc-3918-3ca7-cbb5-ad2261552176.jpeg)


# ■ 参考
### ● Oracle Cloud Infrastructure Documents
　・[インスタンス・コンソール接続を使用したインスタンスのトラブルシューティング](https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/serialconsole.htm#Connecti)
　・[VNCコンソールへの接続](https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/serialconsole.htm#Connecti)

### ● その他 Windowアクセス
　・SAC接続: [シリアル・コンソール接続して Windows Special Administration Console (SAC) でログインしてみてみた](https://qiita.com/shirok/items/607d63d049de2919d850)
　・SSH接続: [Windows Server に OpenSSH を設定して ssh接続してみてみた](https://qiita.com/shirok/items/4f0da262921bbc87f5d8)