LoginSignup
38
40

More than 5 years have passed since last update.

リモートサーバ上のMySQLにSSHトンネル経由でアクセス(Putty)

Posted at

Puttyを利用すると、リモートサーバ上のMySQLにSSHトンネル経由でアクセスできます。
SSHトンネルは踏み台を用意したりといろいろなことが出来ますが、今回は開発マシンから単純にリモートサーバ上のMySQLに接続する手順です。
本番サーバのDBに外部からアクセスしたいけど、アクセス制御が面倒だし通信経路もセキュアじゃないし・・・という場合に利用できるかなと思います。
今回はMySQLと銘打っていますが、他のアプリケーションでも同様にSSHトンネルが利用できます。

SSHトンネルの設定

まずはリモートサーバへのSSHの設定

正しいホスト名とSSHポート番号を入力してください。
1.png

SSHでログインするユーザ名の指定(必須ではない)

SSHのユーザ名をココで指定しておくと毎回入力しなくて良いので楽チンです。
2.png

keepaliveの設定(必須ではない)

keepaliveに値を入れておくと、一定時間経過してSSHが自動的に切断されることがなくなります。
2_3.png

SSHで利用する秘密鍵の指定(必須ではない)

秘密鍵はココで指定しておきます。
3.png

SSHトンネルの設定

いよいよ本題のSSHトンネルです。

Source port がローカルマシン上で待ち受けるポート番号
Destination が、どこに接続するのかの情報。

今回、 Source portには 4000番 を、 Destination には localhost:3306 を指定します。
これは、 localhost上の4000番ポートへの接続は、SSH接続先にSSHアクセス後、そのサーバ上で3306番ポートにフォワードされる、 といった意味合いになります。
ローカルで待ち受けるポートはウェルノウンポート且つ他のアプリケーションから使われていないものを指定します。
4.png

登録

入力が終わったら Add をクリックします。
すると以下のような感じになります。

5.png

保存する

分かりやすい名前を付けて、セッションを保存しておきます。

実際にSSHトンネル経由でアクセスする。

SSHトンネルを張る

先ほど作成したSSHトンネル用のセッションに普通にアクセスします。
これで、ローカルとリモートサーバ間にSSHトンネルが張られました。

MySQLにアクセスする。

作成したSSHトンネルのローカルのポート(今回は4000番)を指定してMySQLにアクセスするだけです。
なお、リモートサーバまでSSH経由で接続された後、3306番ポートにフォワードされるので、MySQL的には接続元は 'root'@'localhost' になります。

7.png

38
40
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
40