我刚刚使用 Ubuntu 启动了一个新的 RackSpace VPS。我通常使用 CentOS,因此请原谅我所犯的任何 Ubuntu 新手错误。
我使用 Putty 设置了 SSH 隧道并尝试通过 SQLYog 连接,这是我在 CentOS 上做过无数次的事情。
我收到了错误消息
在“等待初始通信包”时与 MySQL 服务器失去连接,系统错误:2
我正在通过本地连接
SQLYog 127.0.0.1 8115 根
隧道 8115 127.0.0.1:3306
在 my.cnf 中,我有 bind-address 127.0.0.1,但没有 skip-networking。此时我已经用尽了我的知识。
更新:
我的 iptables 是
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:domain
ACCEPT udp -- anywhere anywhere udp spt:domain
ACCEPT tcp -- anywhere anywhere tcp spt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
ACCEPT tcp -- anywhere anywhere tcp dpt:1337
DROP all -- anywhere anywhere
我刚刚尝试删除 IPTABLES 中的所有条目,这解决了问题。有人能告诉我我哪里做错了吗?
谢谢
答案1
我建议您检查防火墙 (iptables) 或某些安全软件 (apparmor / selinux) 是否已启用并正在运行。此外,错误日志也会有所帮助。
本手册页可以帮助您调试问题。
答案2
就我而言,问题是由于 SSH 服务器不允许 TCP 转发引起的(我尝试通过 SSH 连接到远程 MySQL 服务器)。
我在远程服务器上执行了此操作来解决:
- 在删除服务器上:
/etc/ssh/sshd_config
在任何文本编辑器中打开该文件。 - 将该
AllowTcpForwarding no
行替换为AllowTcpForwarding yes
(如果不存在则将其添加到任何位置)。 - 通过执行重新启动 SSH 服务器
sudo systemctl restart ssh
。