内部ネットワーク IP 10.*:3306 経由でのみアクセスできる mysql データベースがあり、最終的にはローカル マシンを使用して phpmyadmin を設定してデータベースを管理したいのですが、まずは SSH トンネルを設定しようとしています。コマンドを実行しています ssh -N admin@host_b_public_ip -L 3308:host_b_internal_ip:3306
が、コマンドがターミナルでハングしています。別のターミナルを開いて、mysql -P 3308 -u root -p
host_b の mysql ルート パスワードを入力しようとすると、拒否されます。接続が開いているかどうかをテストする方法はありますか? このコマンドは、ブロッキング ターミナル モードでのみ実行されるはずですか、それとも適切に実行されていませんか? ここで実行しようとしていることは可能ですか?
答え1
- を試してください
ssh -f -N *etc*
。 は、-f
SSH コマンドをバックグラウンドで実行します。 - 試してください
mysql -h 127.0.0.1 -P 3308 *etc*
。は-h 127.0.0.1
接続mysql
を試みます通信網ローカル サーバーではなく、localhost のサーバーに接続します。ポート転送ルールにより、ネットワーク接続はリモート サーバーに転送されます。フラグを使用しない場合は-h
、ローカル MySQL サーバーと通信しようとするだけで、ネットワークを経由することはありません。