SSHポートフォワーディングでリモートサーバ上のMySQLに安全にアクセスする。
2018-09-171 min read
目次
概要
Amazon LightsailのlocalhostのMySQLに対して安全に作業を行う手段の一つとして
SSHのポートフォワード機能を紹介します。
背景
Lightsailにwordpressサーバを建てた時の記事。 https://tech-blog.s-yoshiki.com/2018/02/27/ Lightsailのイメージの一つであるbitnami wordpressを選択するとlocalhostのMySQLを利用することになります。
このイメージではデフォルトでphpmyadminが利用できるようになっていますが、これを利用するのは正直イケてません。
それなら3306ポートを解放する!?これもイケてはいません。
sshで接続してCLIからクエリを投げるというのもアリだとは思いますが、やっぱりGUIが使えるなら使いたいと思います。 なので、SSHのポートフォワードを利用して、localhostにポートをトンネリングさせた上で、"MySQL Workbench"や"Sequel Pro"といったGUIクライアントを接続する方法を紹介したいと思います。 ちなみにMySQL WorkbenchにはデフォルトでSSHトンネリング機能が付属しています。
SSHポートフォワード
このコマンドで行います。
ssh -f -N -C -L 3307:localhost:3306 username@hostname -p 22 -i ~/path/to/sshkey.pem
オプションの説明
- -f : バックグラウンド実行
- -N : トンネリングを目的として利用する
- -C : データを圧縮して通信
- -L : マッピングの設定
- -p : SSHのポート番号の指定
- -i : sshキーのパス -Lに関しては、 「3307:localhost:3306」の場合localhostの3307ポートをリモートの3306ポートにマッピングするという意味になります。 ローカルからは以下のコマンドで接続を確認することができます。
mysql -u root -p -h 127.0.0.1 --port=3307
参考
この辺りを参考にしました。 http://d.hatena.ne.jp/addition/20130506/1367813143 http://st-hakky.hatenablog.com/entry/2017/08/18/215944
Recommends
New Posts
Hot posts!
Date
Tags
(110)
(54)
(54)
(47)
(45)
(36)
(30)
(29)
(24)
(24)
(22)
(21)
(21)
(20)
(19)
(17)
(16)
(16)
(15)
(14)
(12)
(12)
(12)
(12)
(12)
(12)
(11)
(10)
(10)
(10)
(10)
(10)
(9)
(9)
(8)
(8)
(8)
(8)
(7)
(7)
(6)
(6)
(6)
(6)
(6)
(5)
(5)
(5)
(5)
(4)
Author