#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'' に繋がるという仕組みです。