web-dev-qa-db-ja.com

MySQL Workbench with Debian Jessie-SSH上のTCP / IPが機能しない

Windows 7 Pro x64で、MySQL Workbenchクライアントを使用してDebian WheezyでホストされているMySQLサーバーに「TCP/IP over SSH」を使用して接続していますが、Debian Jessie上の新しいサーバーでは機能しません。なぜですか?


MySQL Workbench設定:

Connection Name: TEST
Connection Method: Standard TCP/IP over SSH

SSH Hostname: x.x.x.x:22
SSH Username: root
SSH Password: myRootPa$$Word
SSH Key File: <NOT-USING-KEYFILE>

MySQL Hostname: 127.0.0.1
MySQL Server Port: 3306
Username: root
Password: myMySQLPa$$Word

IPアドレス/ホスト名、ユーザー名、パスワードを再確認しました...


Debian Wheezyサーバー構成:

root @ debian:〜#cat/etc/debian_version

7.8

mysql> select version();

+------------------+
| version()        |
+------------------+
| 5.5.40-0+wheezy1 |
+------------------+
1 row in set (0.00 sec)

root @ debian:〜#cat/etc/ssh/sshd_config

Port 22
Protocol 2
HostKey /etc/ssh/ssh_Host_rsa_key
HostKey /etc/ssh/ssh_Host_dsa_key
HostKey /etc/ssh/ssh_Host_ecdsa_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes

Debian Jessieサーバー構成:

root @ debian:〜#cat/etc/debian_version

8.0

mysql> select version();

+-----------------+
| version()       |
+-----------------+
| 5.5.43-0+deb8u1 |
+-----------------+
1 row in set (0.00 sec)

root @ debian:〜#cat/etc/ssh/sshd_config

Port 22
Protocol 2
HostKey /etc/ssh/ssh_Host_rsa_key
HostKey /etc/ssh/ssh_Host_dsa_key
HostKey /etc/ssh/ssh_Host_ecdsa_key
HostKey /etc/ssh/ssh_Host_ed25519_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes

つまり、2つのsshd_configファイルの違いはServerKeyBitsです...


Debian Jessieサーバーに接続しようとすると、MySQL Workbench 6.3.3エラーが表示されます。

Could not connect the SSH Tunnel
Authentication error, unhandled exception caught in tunnel manager, please refer to logs for details

ログファイル:

10:00:04 [INF][     SSH tunnel]: Starting tunnel
10:00:04 [INF][     SSH tunnel]: Existing SSH tunnel not found, opening new one
10:00:07 [INF][     SSH tunnel]: Opening SSH tunnel to 10.232.50.15:22
10:00:07 [WRN][sshtunnel.py:_connect_ssh:287]: IOError, probably caused by file C:\Users\myUser\AppData\Roaming\MySQL\Workbench\ssh\known_hosts not found, the message was: [Errno 2] No such file or directory: u'C:\\Users\\myUser\\AppData\\Roaming\\MySQL\\Workbench\\ssh\\known_hosts'
10:00:07 [ERR][sshtunnel.py:notify_exception_error:233]: Traceback (most recent call last):
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE\sshtunnel.py", line 297, in _connect_ssh
    look_for_keys=has_key, allow_agent=has_key)
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE/python/site-packages\paramiko\client.py", line 301, in connect
    t.start_client()
  File "C:\Program Files\MySQL\MySQL Workbench 6.3 CE/python/site-packages\paramiko\transport.py", line 461, in start_client
    raise e
SSHException: Incompatible ssh peer (no acceptable kex algorithm)

10:00:07 [INF][     SSH tunnel]: TunnelManager.wait_connection authentication error: Authentication error, unhandled exception caught in tunnel manager, please refer to logs for details
10:00:07 [ERR][     SSH tunnel]: Authentication error opening SSH tunnel: Authentication error, unhandled exception caught in tunnel manager, please refer to logs for details

詳細情報:

フォルダ「ssh」は次の場所には存在しません:

C:\Users\myUser\AppData\Roaming\MySQL\Workbench

両方のサーバーのファイアウォールルール:

root@debian:~# iptables -vnL

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

両方のサーバーでSSH(KiTTY)で接続できます...


私は2つの異なるバージョンのMySQL Workbenchを試しました。

Version 6.3.3.0 build 592 (64 bits)
Version 6.0.9.11421 build 1170 (32 bits)

これら2つのバージョンは、Debian Wheezyでは機能しますが、Debian Jessieでは機能しません。 何が欠けていますか?

10
nrogara

https://bugs.mysql.com/bug.php?id=74658 によると、openssh 6.7を使用すると問題が発生するpython MySqlワークベンチに付属のライブラリ。 "KexAlgorithms"をsshd構成に追加しながら、MySql Workbenchに付属するpythonライブラリを更新できます。これは、sshd構成を制御できない場合に便利です。 ..

バグレポートを下にスクロールすると、paramikoおよびecdsaライブラリをダウンロードしてコピーする手順があります。

10
bigmandan

解決策を見つけました。

この行を/etc/ssh/sshd_configファイルに追加しました:

KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

sshを再起動しました:systemctl restart ssh

この投稿で示唆されているように: https://stackoverflow.com/questions/26577494/aptana-sftp-key-exchange

9
nrogara

mysqlに接続する方法は2つあるためです。 mysqlをインストールするときと、そのときにどちらに行くかを尋ねるときは、最初にunix sockが提供され、優れたパフォーマンスが得られます。2番目はTCP/ipであり、dbに接続できる権限を確認してください。リモートで他のいくつかのIPを使用した場合、それ以外の場合は、mysqlのセキュリティ機能を有効にします

0
patchy

Linux(および問題を全面的に回避)では、mysql-workbenchが使用する独自のsshトンネルを手動で作成する方が簡単/クリーンであることがわかりました。

ssh root @ Host -L 3307:localhost:3306

これにより、ローカルポート3307からリモートのローカルポート3306へのsshトンネルが作成されます。mysql-workbenchを構成してlocalhost:3307に接続するだけです

0
Aaron

Bigmandanの答えをスクロールするのはたくさんあるので、見つけやすくするためにここにも投稿することは理にかなっていると思います。

Windowsの場合、これが修正されます。 [2015年6月3日15:27] Mike Hadrupは、Windows 10 64ビットでMySQL Workbench 6.3.3.0(592)msiを使用してテストし、OpenSSH 6.7を使用したDebian 8 Jessieに対してnoinstallを実行しました

Ezipsa-0.13.tar.gz gizpped tarアーカイブには、 http://www.7-Zip.org/ から7Zipを使用できます。

注:Windows 10では、次の場所からVisual Studio 2013のVisual C++再頒布可能パッケージが必要です https://www.Microsoft.com/en-us/download/details.aspx?id=40784

OS Xで、paramikoおよびecdsaライブラリを/Applications/MySQLWorkbench.app/Contents/Resources/librariesにコピーします

0
Karl Henselin