web-dev-qa-db-ja.com

MySQL:SSH経由でサーバーに接続できません。 「初期通信パケットの読み取り」、システムエラー:0

Debian 8.2を実行していますが、インストールは非常に新鮮です。 SequelProを使用してSSH経由でMySQLサーバーに接続しようとしています。私はいつもこのエラーを受け取ります:

Lost connection to MySQL server at 'reading initial communication packet', system error: 0

走ると

mysql -u root -p

サーバー上では、すべてが完全に機能します。しかし、リモートからではありません。

最初はiptablesかもしれないと思ったので、(一時的に)すべてのルールを無効にしました。 iptables-Lは次を返します。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

次に、my.cnfを確認しましたが、考えられるすべてのパラメーターは正しく見えます。

[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
Nice            = 0

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

bind-address            = 127.0.0.1

私のmysqlログファイルの出力も問題ないように見えます

150609 17:15:07 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
150609 17:15:07 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
150609 17:15:07 [Note] /usr/sbin/mysqld (mysqld 5.5.43-0+deb8u1) starting as process 18347 ...
150609 17:15:07 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
150609 17:15:07 [Note] Plugin 'FEDERATED' is disabled.
150609 17:15:07 InnoDB: The InnoDB memory heap is disabled
150609 17:15:07 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150609 17:15:07 InnoDB: Compressed tables use zlib 1.2.8
150609 17:15:07 InnoDB: Using Linux native AIO
150609 17:15:07 InnoDB: Initializing buffer pool, size = 128.0M
150609 17:15:07 InnoDB: Completed initialization of buffer pool
150609 17:15:07 InnoDB: highest supported file format is Barracuda.
150609 17:15:07 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
150609 17:15:08  InnoDB: Waiting for the background threads to start
150609 17:15:09 InnoDB: 5.5.43 started; log sequence number 1654586
150609 17:15:09 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
150609 17:15:09 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
150609 17:15:09 [Note] Server socket created on IP: '127.0.0.1'.
150609 17:15:09 [Note] Event Scheduler: Loaded 0 events
150609 17:15:09 [Note] /usr/sbin/mysqld: ready for connections.

また、クライアントの構成に問題が見つかりません。

MySQL Host: 127.0.0.1
User: root
Password: ***
Port: 3306
SSH Host: mydomain.com
SSH User: sshuser
SSH Key: sshkey

/etc/hosts.allowと/etc/hosts.denyにも何もありません

SSHは正常に接続しますが、MySQLは失敗することに注意してください。

迷っています。誰か助けてもらえますか?

3

まあ、誰かが同じ問題に遭遇した場合:

自己メモ:SSHを設定するときは、/ etc/ssh/sshd_configで次のオプションを設定する必要があります。

AllowTcpForwardingはい

そうしないと、パケットはサーバーでサイレントにドロップされます。これにより、上記のエラーメッセージが表示されます。

クレジットは achbed に行きます

6