presented by 松原正和
 





広告






twitter


掲示板

FeedWind
      

A5:SQL Mk-2 から SSHトンネルを利用して MySQL へ接続する


 このページでは A5:SQL Mk-2 から SSHトンネルを利用して MySQL へ接続する手順を示します。

 例えば、よくあるレンタルサーバーは外部からMySQLに直接接続出来る設定になっていることは稀ですが、SSHトンネルを介せば接続出来ることがあります。

 また、自宅から会社の公開されているSSHサーバーにアクセスし、そこを経由してMySQLサーバーに接続することも出来ます。

Version 2.7までの場合でCygwin経由で接続する古い資料を参照したい場合はこちらにあります。

ケース1(SSHサーバーとMySQLサーバーが同じサーバーである場合)

 このケースはSSHサーバーとMySQLサーバーが同じサーバーに導入されている場合です。例えば、自宅からレンタルサーバー上のMySQLに接続する場合などはこの典型です。

 サーバー "server1" 上でMySQLサーバーが3306番ポートを利用しており、SSHサーバーが22番ポートを利用している場合を例にします。ホスト名やポート番号等は適宜変更して下さい。



接続手順

 データベース接続ダイアログで次のように入力します。入力後、テスト接続を行って動作確認をします。

基本タブ


ホスト名には localhost または、127.0.0.1 を指定します。

SSH2トンネルタブ


ここではパスワード認証を用いていますが、鍵ファイル認証にも対応します。

対応する鍵ファイルのフォーマットは、Open SSH形式およびSecSH形式です。


ケース2(SSHサーバーとMySQLサーバーが異なるサーバーである場合)

 このケースは自宅から会社の公開されているSSHサーバーに接続し、それを経由して社内のMySQLサーバーへ接続する場合などです。

 SSHサーバーからMySQLサーバーへは接続出来る必要がありますが、MySQLサーバーは外部に公開されている必要はありません。

 サーバー "server1" 上の22番ポートでSSHサーバーが稼働し、そこからサーバー "server2" 上の3306番ポートで待ち受けしているMySQLサーバーへ接続する例を示します。


接続手順

 データベース接続ダイアログで次のように入力します。入力後、テスト接続を行って動作確認をします。

基本タブ


ホスト名には server1 (SSHサーバー) から見た、MySQLサーバー名を指定します。

(この場合は、server2 を指定しています)

SSH2トンネルタブ



接続を放置すると接続が切断されてしまう場合

 SSHサーバーの設定によっては、接続後に放置すると一定時間で「Connection reset by peer」などが表示されて強制切断されてしまう場合があります。

 この場合は、SSHサーバーの設定ファイルを編集してKeepaliveを設定します。

 UNIXやLINUX等の多くのOSでは、/etc/ssh/sshd_config です。この設定ファイルに以下の記述を追加します。

ClientAliveInterval 15
ClientAliveCountMax 5

 この例では15秒に1度サーバーからクライアントに対してKeepaliveメッセージを送信します。

 そして連続で5回Keepaliveメッセージに応答がなかった場合、サーバーは接続を切断します。



home
 








[an error occurred while processing this directive]