はじめに
以前も、VirtualBoxのゲスト
OS に対しホストOS から接続する方法を残してありました。
https://weblion303.net/1571/
上記の記事ではブリッジを使った方法ですが、NATでポートフォワーディングの設定をしたほうがより簡単でしたので、以下に残しておきます。
こんなとき
1.仮想マシンで立ち上げたwebサーバーにホストOSからアクセスしたい
2.ゲストOSのmysqlサーバーに対しホストOSからアクセスしたい
今回は2番をメインに紹介します。
着地点はmysqlクライアントのA5SQLを使ってゲストOSのmysqlに接続するところまで。
ポートフォワーディングの設定
VirtualBoxマネージャーの設定を開く
![](https://i2.wp.com/weblion303.net/wp-content/uploads/2019/10/2019-10-31_00h41_31.png?resize=554%2C439&ssl=1)
ネットワーク→ポートフォワーディングへ
![](https://i1.wp.com/weblion303.net/wp-content/uploads/2019/10/2019-10-31_00h42_54.png?resize=586%2C398&ssl=1)
ルールを作成する
![](https://i0.wp.com/weblion303.net/wp-content/uploads/2019/10/2019-10-31_00h43_43.png?resize=661%2C358&ssl=1)
上記の場合、ホストの3336ポートにアクセスすると、ゲストの3306ポートに流す。ホストの3000ポートにアクセスすると、ゲストの3000ポートへ。ホストの2222ポートだと…という感じ。
この状態で保存し、例としてゲストOS内でlocalhost:3000でnodeのアプリケーションサーバーを起動すると、ホストOSのブラウザでlocalhost:3000でも見ることができるようになる。
A5SQLでの設定
![](https://i1.wp.com/weblion303.net/wp-content/uploads/2019/10/2019-10-31_00h49_42.png?resize=597%2C430&ssl=1)
まずはゲストOS側でmysqlに接続するときと同様の設定を「基本」に入力
![](https://i1.wp.com/weblion303.net/wp-content/uploads/2019/10/2019-10-31_00h51_33.png?resize=600%2C432&ssl=1)
「SSH2トンネル」タブに、先ほどポートフォワーディングのルールで設定したポートを入力し、ゲストPCへのログイン情報を入力
![](https://i2.wp.com/weblion303.net/wp-content/uploads/2019/10/2019-10-31_00h53_57.png?resize=600%2C432&ssl=1)
テスト接続に成功すると、データベースの選択ができるようになる。
mysqlに接続できない場合、権限エラーがまず考えられるのでmysqlユーザーのGRANTの設定を見直すといいです。
https://www.dbonline.jp/mysql/user/index6.html#section7
そもそもSSHに失敗してしまう場合は、ゲストPCのubuntu側でssh接続ができるようになっているか確認。
sshできるようにするには以下のコマンド
sudo ufw allow 22
sudo ufw reload
sudo apt install openssh-server