CentOS7

SSHポートフォワード

SSH のポートフォワーディング機能を使った MySQLの接続方法についてまとめました。

たとえばこういうシチュエーションで

01.png

このような場合、SSHのポートフォワーディングを使えば、ローカルからWEBサーバを経由しつつDBサーバへのアクセスが可能です。

ポートフォワーディングのイメージ

02.png この図のようなイメージで、SSHでアクセスできる WEBサーバを介して、ローカルからDBサーバなどにアクセスできるようになります。

コマンド例

[root@localhost ~]# ssh -NL 9999:db_host:3306 ssh_user@ssh_host

ssh で WEBサーバにアクセスしつつ、 -N オプションで、ポートフォワーディングを有効に。また、-L オプションで「ローカルのどのポート番号を、転送先ホストのどのポート番号に転送するか」を設定します。この例では、ローカルの 9999番を、DBサーバの 3306番に転送しています。(9999 は、任意の使用していないポート番号であれば何でも構いません)

これで転送設定ができたら、別ターミナルから

[root@localhost ~]# mysql -h 127.0.0.1 -P 9999 -u db_user -p

こんな感じで、mysql コマンドを使ってローカルの先ほどのポート番号 9999 に接続します。すると 対応したポートのアクセスが SSH 経由で転送され、DBサーバの MySQL に繋がるという仕組みです。


添付ファイル: file02.png 100件 [詳細] file01.png 85件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-13 (月) 10:39:26