MySQL कार्यक्षेत्र डेबियन जेसी के साथ - एसएसएच पर टीसीपी / आईपी काम नहीं करता है


10

मैं विंडोज 7 प्रो x64 के साथ अपने MySQL सर्वर को "SQL / IP पर SSH" टीसीपी का उपयोग करके MySQL वर्कबेंच क्लाइंट के साथ डेबियन व्हीजीज पर होस्ट करने के लिए उपयोग करता हूं, लेकिन यह डेबियन जेसी पर मेरे नए सर्वर पर काम नहीं करता है, क्यों?


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

मेरे पास आईपी पता / होस्टनाम, उपयोगकर्ता नाम और पासवर्ड की दोहरी जांच है ...


डेबियन व्हीजी सर्वर कॉन्फ़िगरेशन:

रूट @ डेबियन: ~ # बिल्ली / आदि / डेबियन_वर्जन

7.8

mysql> संस्करण का चयन करें ();

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

रूट @ डेबियन: ~ # बिल्ली / आदि / 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

डेबियन जेसी सर्वर कॉन्फ़िगरेशन:

रूट @ डेबियन: ~ # बिल्ली / आदि / डेबियन_वर्जन

8.0

mysql> संस्करण का चयन करें ();

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

रूट @ डेबियन: ~ # बिल्ली / आदि / 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 वर्कबेंच 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) से जुड़ सकता हूं ...


मैंने MySQL Workbench के दो अलग-अलग संस्करण आज़माए हैं:

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

ये दो संस्करण डेबियन व्हीज़ी के साथ काम करते हैं लेकिन डेबियन जेसी के साथ नहीं। मैं क्या खो रहा हूँ?

जवाबों:


10

Https://bugs.mysql.com/bug.php?id=74658 के अनुसार, ओपनशिश 6.7 myyql वर्कबेंच के साथ शिप किए गए लाइब्रेटर्स का उपयोग करते समय समस्या स्वयं प्रस्तुत करती है। Sshd config कार्यों में "KexAl एल्गोरिदम" को जोड़ने के दौरान, आप MySql Workbench के साथ आने वाले अजगर पुस्तकालयों को अपडेट कर सकते हैं। यह आसान हो सकता है यदि आपके पास sshd config पर नियंत्रण नहीं है ...

यदि आप बग रिपोर्ट में नीचे स्क्रॉल करते हैं, तो पैरामीको और एक्दसा पुस्तकालयों को डाउनलोड और कॉपी करने के निर्देश हैं।


3
+1। यह सही जवाब है। Sshd में अनुमत कुंजी विनिमय एल्गोरिदम को बदलने से सुरक्षा प्रभाव पड़ सकता है इसलिए ऐसा नहीं किया जाना चाहिए। इस उत्तर में सुझाई गई क्लाइंट लाइब्रेरी को अपडेट करना कम आक्रामक है और ssh सुरंग की सुरक्षा में सुधार करता है।
ईसाई रूडोल्फ

Workbench 6.2 और डेबियन जेसी के साथ भी यही समस्या है। मेरे कार्यक्षेत्र 6.2 CE ने मुझे बताया कि यह मदद के लिए नवीनतम संस्करण था-> अपडेट के लिए जाँच करें। क्या झूठ ... dev.mysql.com/downloads/workbench से डाउनलोड किया गया संस्करण 6.3 और सब कुछ एक आकर्षण की तरह काम करता है।
मार्टिन सीटल

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

जैसा कि इस पोस्ट द्वारा सुझाया गया है: /programming/26577494/aptana-sftp-key-exchange


7
यह निश्चित रूप से उपयोग की अनुमति देता है लेकिन मैं अभी भी थका हुआ हूं कि यह सही काम है। बहुत कुछ एल्गोरिदम सूचीबद्ध हैं, कोई भी विचार जो MySQL कार्यक्षेत्र के लिए आवश्यक है?
पीसीएन करें

0

चूँकि बिगमैन के उत्तर पर स्क्रॉल करने के लिए बहुत कुछ है, इसलिए मुझे लगता है कि इसे खोजने के लिए इसे आसान बनाने के लिए इसे यहाँ पोस्ट करने का भी अर्थ हो सकता है।

विंडोज के लिए , यह फिक्स है। [३ जून २०१५ १५:२27] माइक हैड्रॉप भी MySQL कार्यक्षेत्र 6.3.3.0 (592) msi और ओपनएसएसएच 6.7 के साथ डेबियन 8 जेसी के खिलाफ इशारा के साथ विंडोज 10 64 बिट पर परीक्षण किया गया

आप से 7zip का उपयोग कर सकते हैं http://www.7-zip.org/ ECDSA-0.13.tar.gz gizpped tar संग्रह के लिए।

नोट: विज़ुअल स्टूडियो के लिए विजुअल C ++ Redistributable पैकेज 2013 में विंडोज 10 पर आवश्यक है: https://www.microsoft.com/en-us/download/details.aspx?id=40784

OS X पर , paramiko और ecdsa पुस्तकालयों की प्रतिलिपि बनाएँ: /Applications/MySQLWorkbench.app/Contents/Resources/lbooks


0

क्योंकि mysql से जुड़ने के दो तरीके हैं। उस समय जब आप mysql को इंस्टॉल करते हैं और उस समय यह पूछते हैं कि आप किस रास्ते से जाना चाहते हैं, यूनिक्स जुर्राब है जो बहुत ही परोसा जाता है और आपको अच्छा प्रदर्शन देता है और दूसरा है टीसीपी / आईपी और कृपया विशेषाधिकारों की जांच करें या तो आप से कनेक्ट कर सकते हैं db दूरस्थ रूप से बस कुछ अन्य आईपी का उपयोग किया है यदि नहीं तो आप और mysql में सुरक्षा सुविधा के लिए सक्षम करें


1
MySQL के यूनिक्स-सॉकेट इंटरफ़ेस को केवल उसी मशीन पर ग्राहकों द्वारा उपयोग करने योग्य है; यह प्रश्न एक अलग मशीन पर एक क्लाइंट के बारे में है जो टीसीपी / आईपी (और वैकल्पिक रूप से, एसएसएच में) का उपयोग करना चाहिए।
dave_thompson_085

0

लिनक्स में (और पूरी तरह से इस मुद्दे को दरकिनार करते हुए), मैंने इसे उपयोग करने के लिए mysql-workbench के लिए मैन्युअल रूप से अपनी ssh सुरंग बनाने के लिए सरल / साफ पाया:

ssh रूट @ होस्ट -L 3307: लोकलहोस्ट: 3306

यह आपके स्थानीय पोर्ट 3307 से रिमोट के स्थानीय पोर्ट 3306 तक एक ssh सुरंग बनाता है। इसलिए आप mysql-workbench को लोकलहोस्ट से कनेक्ट करने के लिए कॉन्फ़िगर करें: 3307

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.