#author("2018-08-13T10:38:01+09:00","","")

#author("2018-08-13T10:39:25+09:00","","")

[[CentOS7]]

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

**たとえばこういうシチュエーションで [#bb8a8995]
&ref(01.png);

-WEBサーバと DBサーバとが別構成

-DBサーバには、WEBサーバのIPアドレスからしかセキュリティ上接続できない

-ローカルから WEBサーバへの SSHアクセスは可能



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



**ポートフォワーディングのイメージ [#j3193ce4]

&ref(02.png);

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



**コマンド例 [#q51022d0]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# ssh -NL 9999:db_host:3306 ssh_user@ssh_host|

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

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

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# mysql -h 127.0.0.1 -P 9999 -u db_user -p|

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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS