web-dev-qa-db-ja.com

リモートMySQLデータベースに接続するためにMac OS Xのポート3306を転送する

Mac OS X 10.6.2で、linodeでubuntuサーバー8.04.1に接続しようとしています。

ssh -L 127.0.0.1:3306:[[remote ip]]:3306 user@server -N

リモートのmysqlサーバーにアクセスできるように、sshトンネリングを設定したいと思います。

まず、bind: Address already in useと言われます。これは私が以前にコマンドを試した後だけです。ポート転送セッションを手動で閉じるにはどうすればよいですか?

次に、コマンドをssh -L 127.0.0.1:3310:[[remote ip]]:3306 user@server -Nに変更したとき(ローカルポートをリッスンするように変更しました)。 MySQLワークベンチまたは続編プロを介してMySQLサーバーに接続しようとすると、channel 1: open failed: connect failed: Connection refusedが表示されます。

MySQLワークベンチを介して接続するには、次の設定を使用します。

  • ホスト:127.0.0.1ポート:3310(3306が使用中の場合)
  • ユーザー名:mysqlユーザー名
  • パスワード:mysqlパスワード
  • データベース:何も入れない
7
Jonathan Mayhak

これはうまくいくはずです:

ssh -L 3310:127.0.0.1:3306 user@server

最初のポート番号は、使用するローカルポートです(まだ使用されていない必要があります)。コロンの間のIPは、接続先のホストの観点から、接続先のIPです。 2番目のポート番号は、接続するポートです。 sshを実行しているサーバー以外のサーバーに接続している場合は、次のことを試してください。

ssh -L 3310:<remote-IP>:3306 user@server

通常、これを複数回実行する場合、次のように〜/ .ssh/configにエントリを作成します。ここで、sshhost.example.comは、sshを実行するサーバーで、開くローカルポートは5910です。 、接続したい相手側のIPは192.168.35.69であり、接続したいポートは5900です。

Host desk
    Hostname sshhost.example.com
    User jed
    Port 22
    LocalForward 5910 192.168.35.69:5900

次に、コマンドプロンプトから私はただ行うことができます

jed@jed-mbp:~$ ssh desk

そして、オフィスの私のデスクトップへのトンネルを取得します。

幸運を、

--jed

12
Jed Daniels