Bug #89117 Connection through SSH tunnel with BANNER does not work
Submitted: 5 Jan 2018 11:59 Modified: 5 Feb 2018 16:10
Reporter: Mihai Iusan Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Workbench Severity:S2 (Serious)
Version:6.3.9 OS:MacOS (macOS 10.12.x Sierra x86_64)
Assigned to: CPU Architecture:Any
Tags: WBBugReporter

[5 Jan 2018 11:59] Mihai Iusan
Description:
When connecting through SSH tunnel in the case the server has a SSH banner, the connection will fail.
When the banner is removed the connection starts to work again.

The problem was detected when using Jelastic and connecting through SSH to a MySQL node.
Each time Jelastic is updated I am fixing it by asking the support to remove the banner on the nodes which is not ideal, as is not a problem on their side.
I've found the issue about an year ago.

How to repeat:
Setup a server and connect to MySQL through SSH while having an SSH banner.
[5 Jan 2018 12:01] Mihai Iusan
Workbench log

Attachment: wb.log (application/octet-stream, text), 6.06 KiB.

[5 Jan 2018 13:25] MySQL Verification Team
Thank you for the bug report. Duplicate/related: https://bugs.mysql.com/bug.php?id=88155, https://bugs.mysql.com/bug.php?id=88549
[5 Jan 2018 14:06] Mihai Iusan
Looking at the log and the issues of the other tickets(https://bugs.mysql.com/bug.php?id=88155, https://bugs.mysql.com/bug.php?id=88549), I do not think this is a duplicate.

This is due to the fact that the reason is that it is effected by the SSH banner.

Here is the part from the log:

13:33:22 [INF][     SSH tunnel]: Starting tunnel
13:33:22 [INF][     SSH tunnel]: Existing SSH tunnel not found, opening new one
13:33:22 [INF][     SSH tunnel]: Opening SSH tunnel to gate.fi.cloudplatform.fi:3022
13:33:32 [INF][     SSH tunnel]: TunnelManager.wait_connection returned OK
13:33:32 [INF][sshtunnel.py:set_keepalive:507]: SSH KeepAlive setting skipped.
13:33:32 [INF][     SSH tunnel]: SSH tunnel connect executed OK
13:34:32 [ERR][SQL Editor Form]: SqlEditorForm: exception in do_connect method: Exception: Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60
13:34:32 [WRN][SQL Editor Form]: Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60
13:34:32 [ERR][SQL Editor Form]: Connection failed but remote admin does not seem to be available, rethrowing exception...
13:34:32 [ERR][  GRTDispatcher]: exception in grt execute_task, continuing: Exception: Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60
13:34:32 [ERR][  GRTDispatcher]: worker: task 'execute sql queries' has failed with error:.Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60
13:34:32 [ERR][    WQE backend]: Got an exception during connection: Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60
13:34:32 [ERR][SQL Editor Form]: SQL editor could not be connected: Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60
13:34:32 [ERR][SQL Editor Form]: Your connection attempt failed for user 'root' from your host to server at 10.100.4.30:3306:
  Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60
[5 Jan 2018 16:10] MySQL Verification Team
Version 6.3.10 presents the same log on your side?. Thanks.
[6 Feb 2018 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[6 Mar 2018 2:39] Vincent Cardillo
This is still a bug. SSH password + key don't work.
[6 Mar 2018 2:45] Vincent Cardillo
18:41:50 [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 367, in connect
    look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
  File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/paramiko/client.py", line 584, in _auth
    raise saved_exception
AuthenticationException: Authentication failed.

18:41:50 [ERR][     SSH tunnel]: Authentication error opening SSH tunnel: Authentication error. Please check that your username and password are correct and try again.
Details (Original exception message):
Authentication failed, please check credentials.
Please refer to logs for details
[6 Mar 2018 2:48] Vincent Cardillo
Workbench doesn't even prompt for a password, when key+password are required on the server.