5

2 つの SSH ホストを介して MySQL データベースに接続するにはどうすればよいですか?

これが私の状況です。以下に示すように、2 つの SSH ホストがあります。MySQL は BOX2 ホストで実行されています。

MyBox(MySQL GUI client) -----SSH(port 22)--->BOX1(IP: 190.xx.xx.xx)---SSH(port 22)--->BOX2(IP: 190.xx.xx.xx)[MySQL server]

私の質問は、上記のようにトンネリングする SSH ホストが複数ある場合、どのように接続すればよいですか?

4

3 に答える 3

5

これが役立つと思います。MyBoxからこのコマンドを試してください(MySQLクライアントを持っています)

ssh user@box1 -L some-local-port:box2:22

クライアントから、この方法で接続するために接続を試みます

MySQL host : localhost
MySQL usernmae : mysql-username-of-server-installed-at-Box2
MySQL password : mysql-password-of-server-installed-at-Box2
MySQL port : 3306 (suppose mysql server at Box-2 is listening at port 3306)

トンネリング情報で

SSH host : localhost
SSH pass : ssh-password-of-Box2
SSH port : some-local-port
于 2012-04-05T06:57:54.590 に答える
3

次のことを試してください。

ssh -L 33306:localhost:33306 user@box1_hostname ssh -L 33306:localhost:3306 user@box2_hostname

次に、127.0.0.1:33306を使用してmysqlに接続してみてください。ポート33306は、box1の誰でも利用できることに注意してください。これは、問題になる場合と問題にならない場合があります。

同じことを実現する別の方法は、ここで説明するようにProxyCommandを使用することです。

于 2012-04-05T06:22:32.713 に答える
0

Putty クライアントを使用した私の代替ソリューションは次のとおりです。

  1. 最初に、Putty アプリケーションで MyBox ポート 3300 から Box1 ポート 3300 へのトンネルを構成します。
  2. ボックス 1 にパテを接続します。
  3. 次のコマンドを入力して、Box1 と Box2 の間にトンネルを確立します ssh -L 3300:localhost:3306 root@Box2_IP
  4. Mysql クライアントを localhost:3300 に接続します。

Putty Config のスクリーンショットは以下のとおりです。 Puttuy Config 接続画面

Putty トンネル設定画面

于 2016-06-29T06:25:21.973 に答える