MySQL Workbenchについて質問があります。私の接続は次のとおりです。
laptop => bastion:22 => machineX:22 (10.10.10.10) => mysql:3306
したがって、データベースに到達する前に2つのホップがあります(データベース自体への3つのホップ)。 "machineX"だけがポート3306を介してデータベースにアクセスできます。
私のSSH設定には次のものがあります。
Host 10.10.10.10
ProxyCommand ssh -W %h:%p bastion
上記を使用してください。
- リモートポートをローカルに公開してlocalhostに接続すると、SSHトンネルを使用してデータベースに正常に接続できます。
- MacでSequel Proを使用してデータベースに正常に接続できます(SSH設定を使用)。
ただし、MySQL Workbenchを使用して接続することはできません(SSHオプションを介したTCP / IPを使用)。 MySQL WBプロパティにSSHプロファイルを指定しましたが、2つのホップを作成する方法がわからないようです。
エラーメッセージ:
Failed to Connect to MySQL at mysql:3306 through SSH tunnel at [email protected] with user dbuser
11:06:00 [INF][ SSH tunnel]: Existing SSH tunnel not found, opening new one
11:06:00 [INF][ SSH tunnel]: Opening SSH tunnel to 10.10.10.10
11:06:00 [DB2][sshtunnel.py:do_run:119]: SSH Tunel 17 thread started
11:06:00 [DB2][sshtunnel.py:notify:230]: tunnel_28908: INFO Connecting to SSH server at 10.10.10.10:22 using key /Users/seb/.ssh/id_rsa...
11:06:00 [DB1][ SSH tunnel]: Waiting on tunnel to connect...
11:06:00 [DB1][sshtunnel.py:wait_connection:484]: INFO: Connecting to SSH server at 10.10.10.10:22 using key /Users/seb/.ssh/id_rsa...
11:06:10 [DB2][sshtunnel.py:notify:230]: tunnel_28908: IO_ERROR IO Error: timed out.
Please refer to logs for details.
11:06:10 [DB1][sshtunnel.py:wait_connection:492]: returning from wait_connection(28908): IO Error: timed out.
Please refer to logs for details.
11:06:10 [DB1][ SSH tunnel]: TunnelManager.wait_connection() returned IO Error: timed out.
Please refer to logs for details.
11:06:10 [ERR][ SSH tunnel]: TunnelManager.wait_connection got IOError: IO Error: timed out.
Please refer to logs for details.
11:06:10 [ERR][sshtunnel.py:notify_exception_error:235]: Traceback (most recent call last):
File "/Applications/MySQLWorkbench.app/Contents/Resources/sshtunnel.py", line 303, in _connect_ssh
look_for_keys=has_key, allow_agent=has_key, timeout=SSH_CONNECTION_TIMEOUT)
File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/client.py", line 292, in connect
retry_on_signal(lambda: sock.connect(addr))
File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/util.py", line 270, in retry_on_signal
return function()
File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/client.py", line 292, in <lambda>
retry_on_signal(lambda: sock.connect(addr))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
timeout: timed out
MySQL Workbenchが十分に賢くないか設定する必要がありますが、私が知らない他のものはありますか?私はMacとWindows用のMySQL WBを試しましたが、成功しませんでした。私が言ったように、例えばSequel Proを使用すると完璧に動作します!
あなたが言う前に - トンネルを設定してからlocalhostに接続してください - 私はそうしたくない理由でいいえと言いました。 MySQL WBのSSH設定でのみ機能したいです。