MySQL Workbench(版本6.0.8)SSH身份验证问题

时间:2014-02-03 12:42:33

标签: mysql ssh mysql-workbench centos6

我正试图通过机器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键。

提前致谢。

9 个答案:

答案 0 :(得分:40)

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

答案 1 :(得分:13)

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

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

答案 2 :(得分:9)

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

ssh-add -K ~/.ssh/id_rsa

这立即解决了我的问题。

答案 3 :(得分:2)

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

第一步

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

答案 4 :(得分:0)

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

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

qpdf

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

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

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

为什么Oracle不再支持无处不在的PEM格式?

答案 5 :(得分:0)

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

弄清楚我的问题。 Macos用户首先需要安装puttygen,然后通过乔纳森(Jonathan)在其教程中所说的将Ppk格式转换为pem,然后是TADA!一切都像魅力一样!

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)

对于linux,通常对于工作台,它必须为rfc的pkcs8格式...

因此以OpenSSH格式导出,但以pkcs8格式导出

答案 8 :(得分:0)

对我来说,它使用.pem扩展名起作用。 因为只有ppk密钥,所以我不得不将.ppk转换为.gem。

要进行转换,我在ubuntu终端中使用了进餐:

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