Debian Jessie가 포함 된 MySQL Workbench-SSH를 통한 TCP / IP가 작동하지 않음


10

"TCP / IP over SSH"를 사용하여 MySQL Workbench 클라이언트로 Debian Wheezy에서 호스팅되는 MySQL 서버에 Windows 7 Pro x64와 연결하는 데 사용하지만 Debian Jessie의 새 서버에서는 작동하지 않습니다. 왜 그렇습니까?


MySQL 워크 벤치 구성 :

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 주소 / 호스트 이름, 사용자 이름 및 비밀번호를 다시 확인했습니다 ...


데비안 Wheezy 서버 설정 :

root @ debian : ~ # 고양이 / etc / debian_version

7.8

mysql> 버전 선택 ();

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

root @ debian : ~ # 고양이 / 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

데비안 Jessie 서버 설정 :

root @ debian : ~ # 고양이 / etc / debian_version

8.0

mysql> 버전 선택 ();

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

root @ debian : ~ # 고양이 / 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

사람의 차이점은 ServerKeyBits두 sshd_config 파일의 차이점입니다 ...


MySQL Workbench 6.3.3 오류는 Debian Jessie 서버 에 연결하려고 할 때 나타납니다 .

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)와 연결할 수 있습니다 ...


두 가지 버전의 MySQL Workbench를 시도했습니다.

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

이 두 버전은 Debian Wheezy에서는 작동하지만 Debian Jessie에서는 작동하지 않습니다. 내가 무엇을 놓치고 있습니까?

답변:


10

https://bugs.mysql.com/bug.php?id=74658 에 따르면 이 문제는 openssh 6.7을 사용할 때 MySql Workbench와 함께 제공된 Python 라이브러리를 나타냅니다. "KexAlgorithms"를 sshd 구성 작동에 추가하는 동안 MySql Workbench와 함께 제공되는 Python 라이브러리를 업데이트 할 수 있습니다. sshd 설정을 제어 할 수없는 경우에 편리합니다 ...

버그 보고서에서 아래로 스크롤하면 paramiko 및 ecdsa 라이브러리를 다운로드하고 복사하기위한 지침이 있습니다.


3
+1. 이것이 정답입니다. sshd에서 허용 된 키 교환 알고리즘을 변경하면 보안에 영향을 줄 수 있으므로이 작업을 수행해서는 안됩니다. 이 답변에서 제안한대로 클라이언트 라이브러리를 업데이트하면 덜 침습적이며 ssh 터널의 보안이 향상됩니다.
Christian Rudolph

Workbench 6.2 및 Debian Jessie와 동일한 문제가 발생했습니다. 내 Workbench 6.2 CE는 도움말-> 업데이트 확인의 최신 버전이라고 말했습니다. 거짓말 ... dev.mysql.com/downloads/workbench 에서 버전 6.3을 다운로드하면 모든 것이 매력처럼 작동합니다.
Martin Seitl

9

해결책을 찾았습니다.

이 줄을 /etc/ssh/sshd_config파일에 추가했습니다 .

KexAlgorithms curve25519-sha256@libssh.org,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 : //.com/questions/26577494/aptana-sftp-key-exchange


7
이것은 확실히 액세스를 허용했지만 여전히 이것이 옳은 일이라고 지쳤습니다. MySQL Workbench에 필요한 아이디어가 꽤 많은 알고리즘이 있습니까?
pcnate 2016 년

0

bigmandan의 답변을 스크롤해야 할 부분이 많으므로 쉽게 찾을 수 있도록 여기에 게시하는 것이 좋습니다.

Windows 의 경우이 수정입니다. [2015 년 6 월 3 일 15:27] Mike Hadrup 또한 MySQL Workbench 6.3.3.0 (592) msi를 사용하여 Windows 10 64 비트에서 테스트되었으며 OpenSSH 6.7을 사용하는 Debian 8 Jessie에 대해 설치되지 않았습니다.

ecdsa-0.13.tar.gz gizpped tar 아카이브에 http://www.7-zip.org/의 7zip을 사용할 수 있습니다 .

참고 : Visual Studio 2013 용 Visual C ++ 재배포 가능 패키지는 Windows 10 ( https://www.microsoft.com/en-us/download/details.aspx?id=40784) 에서 필요합니다.

OS X 에서 paramiko 및 ecdsa 라이브러리를 다음 위치에 복사하십시오. /Applications/MySQLWorkbench.app/Contents/Resources/libraries


0

mysql에 연결하는 두 가지 방법이 있기 때문입니다. mysql을 설치하는 시간과 그 시간은 1st wana go 방법을 묻습니다. 유닉스 양말은 매우 유용하고 좋은 성능을 제공하며 두 번째 것은 TCP / ip이며 DB에 연결할 수있는 권한을 확인하십시오 원격으로 방금 다른 IP를 사용했다면 mysql의 보안 기능을 활성화하십시오.


1
MySQL에 대한 Unix 소켓 인터페이스는 동일한 머신의 클라이언트 만 사용할 수 있습니다. 이 질문은 TCP / IP를 사용해야하는 다른 컴퓨터의 클라이언트에 관한 것입니다 (선택적으로 SSH의 경우와 같이).
dave_thompson_085

0

리눅스에서 (그리고 문제를 완전히 회피하는) mysql-workbench가 사용할 자체 ssh 터널을 수동으로 만드는 것이 더 간단하고 깨끗하다는 것을 알았습니다.

ssh root @ host -L 3307 : 로컬 호스트 : 3306

로컬 포트 ​​3307에서 원격 로컬 포트 ​​3306으로 ssh 터널을 만듭니다. 따라서 localhost : 3307에 연결하도록 mysql-workbench를 구성하기 만하면 됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.