【问题标题】:MySQL Workbench (version 6.0.8) SSH Authentication IssueMySQL Workbench(版本 6.0.8)SSH 身份验证问题
【发布时间】:2014-02-26 23:04:57
【问题描述】:

我正在尝试通过机器 Y 通过 SSH 连接到主机 X 上的 MySQL 服务器。

相同的设置(但 MySQL 工作台的旧版本)适用于我的另一个机器(CentOS 6.3)。

但是,相同的设置不适用于我的 CentOS 6.5。

我尝试使用 SSH 密钥在我的盒子和机器 Y 之间通过 SSH 进行身份验证,当我从盒子 ssh 到机器 Y 时它可以工作。

但是,MySQL 工作台给了我以下错误: 错误无法建立 SSH 连接:身份验证类型错误 (allowed_types=['publickey', 'gssapi-with-mic'])。

有人建议我在 /etc/ssh/sshd_config 中将 AllowTcpForwarding 设置为 yes,我这样做了,重新启动了服务并重新启动了我的机器。

但我仍然遇到同样的错误。

有什么想法吗?

似乎由于某种原因,当 MySQL 工作台尝试连接时,.ssh/id_dsa 密钥没有被拾取。

提前致谢。

【问题讨论】:

  • MySQL Workbench 不会自动获取 id_rsa。你在连接设置里设置了吗?
  • 嗯...我认为会是因为旧版本 (5.x) 会。无论如何,我试图指定私钥文件,它给了我同样的错误。
  • 在新计算机上使用 MySQL Workbench 时,我们一直在努力解决同样的问题。我们的服务器配置为仅接受带有密钥文件身份验证的 ssh。而 MySQL 似乎最初完全忽略了 SSH Key File 参数。有时似乎有帮助的方法是通过 Mac 上的终端或 Windows 上的 cygwin 让用户 SSH 进入。出于某种原因,在那之后,MySQL 工作台似乎可以工作。我不知道为什么。到目前为止提供的解决方案都没有效果。

标签: mysql ssh mysql-workbench centos6


【解决方案1】:

您需要确保您的私钥是 openssh 格式。使用 puttygen,您可以导出为 Openssh。这对我有用。

【讨论】:

  • 完美答案... 将密钥加载到 puttykeygen,转换 > 导出 OPENSSH 密钥
  • 在 MobaXterm 中也可用。工具 -> MobaKeyGen -> 加载密钥文件 -> 导出 OPENSSH 密钥
  • 像魅力一样为我工作。非常感谢。
【解决方案2】:

将其转换为 OpenSSH 可解决此问题。只需执行以下操作:

  1. 打开 Putty 密钥生成器。
  2. 通过从保存私钥文件的位置转到文件 - > 私钥来加载私钥 - 您应该会看到在 Putty 中加载了您的密钥。
  3. 现在转到对话并导出到 Openssh - 将文件保存在安全位置。
  4. 转到 Workbench 并在 SSH 密钥文件下将其指向新的 Openssh 文件,而不是旧的私钥文件。这应该可以解决您的问题。

【讨论】:

    【解决方案3】:

    我最近又遇到了这个问题。如果您使用受密码保护的私钥并且您刚刚升级到 macOS Sierra,您可能需要再次将您的私钥重新添加到您的钥匙串中。

    ssh-add -K ~/.ssh/id_rsa
    

    这立即为我解决了问题。

    【讨论】:

    • 这已为我修复,MacOS High Sierra,v10.13.4 我的 id_rsa 密钥受密码保护。
    • 似乎 Mysql Workbench 会自动选择 id_rsa 键,即使您指定了不同的键。
    【解决方案4】:

    对于使用 ssh-keygen 的 Linux 用户:

    根据其他答案,您需要使用 openssh 格式。

    ssh-keygen -o -b 4096
    

    这给了我一个新的密钥对 RSA 类型 4096 位的 openssh 格式。 -o 是这里的关键(不是双关语)。

    显然,这会生成一个 密钥,因此只有在您可以将新公钥上传到服务器时才有用。不要忘记先备份旧密钥,以防您在其他地方使用它们。

    AFAIK ssh-keygen 无法转换现有密钥。

    为什么 Oracle 放弃了对普遍存在的 PEM 格式的支持,我无法理解。

    【讨论】:

      【解决方案5】:

      我在使用 Navicat 和 MySQL Workbench 的 macos 上遇到了同样的问题。感谢乔纳森this article

      解决我的问题。 Macos用户首先需要安装puttygen,然后通过Jonathan在他的教程中说的将ppk格式转换为pem,然后是TADA!一切都像魅力一样!

      【讨论】:

        【解决方案6】:

        我花了 3-4 天的时间来弄清楚并尝试了许多不同的解决方案,但除了以下之外,没有一个对我有用。

        我在 Windows 上使用 XAMPP 运行 MySQL 和 localhost。我在我的机器上停止了这两个服务,然后尝试使用 Workbench 及其连接的 SSL 连接。

        【讨论】:

          【解决方案7】:

          对于 linux,通常对于工作台,它必须是 pkcs8 格式而不是 rfc...

          所以以 OpenSSH 格式导出,但以 pkcs8 格式导出

          【讨论】:

          • 我在 Ubuntu 上遇到了这个问题。如何将密钥文件转换为 PKCS#8?
          • 一般可以在导出命令中选择格式
          • 是的,但是 PKCS#8 的关键字是什么?我四处寻找,但没有发现任何有用的东西。我正在使用这个命令:puttygen key-fil -O private-openssh -o new-key.pem。我应该使用什么来代替 private-openssh?
          • 对不起,我使用的是可执行版本,也许你可以在 gui 中使用 open ssh 并选择导出
          【解决方案8】:

          对我来说,它使用 .pem 扩展密钥。 由于我只有 ppk 密钥,我必须将 .ppk 转换为 .gem。

          为了改造它,我使用了在 ubuntu 终端吃东西:

          $ puttygen key.ppk -O private-openssh -o key.pem
          

          【讨论】:

            【解决方案9】:

            在 Mac OS 上,请执行以下操作,因为这是唯一对我有用的 -:

            第 1 步

            brew install putty
            

            第 2 步

            puttygen id_rsa -O private-openssh -o id_rsa.pem
            

            第 3 步 - 在 MySQL 工作台中

            SSH Key File: /Users/local/.ssh/id_rsa.pem
            

            【讨论】:

              猜你喜欢
              • 2015-12-03
              • 2011-01-22
              • 1970-01-01
              • 2019-10-11
              • 2016-10-03
              • 2018-10-14
              • 2015-07-22
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多