HTTP、HTTPS、および SSH (ポート 30000) のみにロックダウンした ubuntu サーバーがあります。このボックスには、99.9% の時間はローカルでのみ使用される MySQL サーバーがあります。ときどき、GUI ツールを使用して MySQL インスタンスに接続したいと思いますが、ファイアウォールには触れません。
したがって、SSH 接続で MySQL ボックスに接続できるように設定することは可能ですか? 私ができるポート転送の魔法はありますか?
ssh -L localport:127.0.0.1:remoteport user@remotehost
ここでlocalport
、 はローカル システムのバインドされていないポート、remoteport
は MySQL がリッスンするポート、127.0.0.1
はリモート システムのループバック アドレス、user
はユーザー名、およびremotehost
はリモート システムのアドレスです。
次に、MySQL クライアントを にポイントします127.0.0.1:localport
。接続は SSH トンネル経由でリモート ポートに転送されます。
ローカル マシンで Windows または Unix を使用している場合、PuTTY は優れたツールです。ポート転送に関するチュートリアルは次のとおりです。
http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html
SSH クライアントを使用してトンネルをセットアップし、トンネルを介してローカル ポートをリモート マシンのポートにマップしてから、クライアントを使用してローカル ポートに接続します。
man ssh
血まみれの詳細が表示されますが、Web でもう少し読みやすいものを検索した方がよいでしょう。
Windows を使用している場合は、HeidiSQLを使用することをお勧めします。それ自体で SSH トンネルを処理します (plink.exe ユーティリティをダウンロードするだけで済みます)。
私の謙虚な意見では、これは最高の MySQL ツールです (しかも無料でオープン ソースです)。
リモートMYSQLマシンでGUImysqlツールを使用する方法は2つあります。
リモートマシンがLinuxを実行していると仮定しています。
オプション1。
SSHポートフォワーディング。
ssh -L 3306:proxy:3306 username @ remotehost
基本的に、ローカルマシンのポート3306をリモートマシンの3306に転送し、グラフィカルMYSQlツールにlocalhost:3306に接続するように指示し、リモートマシンが3306の標準ポートでリッスンしていると想定します。
http://magazine.redhat.com/2007/11/06/ssh-port-forwarding/
また、ssh -D 3306 username@remotehostも同様である必要があります
オプション2。
リモートマシンでxserverを実行していて、リモートマシンにGUIツールがインストールされている場合は、SSH接続を介してGUIをトンネリングできます。
ssh -X username @ remotehost次に、コマンドラインからリモートマシンでGUIツールを最初からやり直します。
SQLyog の SSH/HTTP トンネリングは優れています。セキュリティの追加レイヤーを追加する公開/秘密キー認証があります。
MySQL を管理するための Web ベースのツールである phpMyAdminを検討することをお勧めします。これは非常に優れています (PHP が必要です)。通常の Ubuntu の方法 (Synaptic など) でインストールできます。
または、上記のように SSH で X トンネリングを実行します。