ども、小堤です。
社員に教えたら好評だったので、メモ。
WEBサーバの奥のローカル接続のデータベースサーバへポートフォワーディングしたいなぁ・・・と思うことがあるんじゃないでしょうか。
普通WEBサーバとDBサーバが一緒であればPuttyのトンネル設定(ポートフォワーディング)で終わりですが、その奥のDBサーバにまでフォワーディングしてしまおうという話しです。
開発業務で、本番DBサーバは意外とWEBサーバとローカル接続、またはWEBサーバ経由の接続しか許していない場合が多いんでね・・・。
ってことでMySQLで接続する場合。PostgreSQLの場合はポートかえれえばOKです。
1.Puttyのトンネル設定
もしWEBサーバでもMySQLが動いている場合は、localhost:3307などぶつからないようにポート番号を変えましょう。
2.PuttyでWEBサーバにはいる
これ、普通どおり。
3.SSHコマンドで、WEBサーバからDBサーバにはいる
ssh -L 3306:localhost:3306 admin@192.168.0.x
でログインします。最後のadmin@の部分はユーザ名@DBサーバのアドレスです。
上記のポートを変えた場合は
ssh -L 3307:localhost:3306 admin@192.168.0.x
これで、TOPコマンドでも走らせて、自分のうちのルーターに無通信で切断されないようにでもしておいて。
PHPMyAdminや、Navicatなんかのソフトで、ローカルホストへ接続。
その際のユーザ名とパスワードは、DBサーバへ接続するときの(PHPのプログラムなんかに記述する)ユーザ名、パスワードを設定します。
これで、つながります。
インターネットに公開されていない、DBサーバへのポートフォワーディングは実務で結構作業を軽減してくれるんじゃないでしょうか。
ってことで、自分もすぐ忘れるんでメモ。