我使用 PuTTY 0.83 创建rlogin
与远程 MySQL 数据库服务器的 SSH [ ] 连接,现在我想要使用 MySQL Workbench,但要创建连接,我需要将其转换为 OpenSSH 格式。
我的问题是,新版本的 PuTTY 将密钥存储在注册表中,注册表项不是.ppk
格式化的,并且我的磁盘上似乎没有文件.ppk
。
有没有办法.ppk
从存储在注册表中的密钥创建一个?
我使用 PuTTY 0.83 创建rlogin
与远程 MySQL 数据库服务器的 SSH [ ] 连接,现在我想要使用 MySQL Workbench,但要创建连接,我需要将其转换为 OpenSSH 格式。
我的问题是,新版本的 PuTTY 将密钥存储在注册表中,注册表项不是.ppk
格式化的,并且我的磁盘上似乎没有文件.ppk
。
有没有办法.ppk
从存储在注册表中的密钥创建一个?
不,这与较新的 PuTTY 版本无关 – 相反,您混淆了两种不同的密钥。
仅仅因为您没有 .ppk 文件并不意味着它现在会自动进入注册表;这也可能意味着您从来没有密钥。PuTTY 不会自动生成用户密钥 - 创建它们是一个手动过程,包括 1) 使用 PuTTYgen 和 2) 将密钥的公共部分上传到特定服务器。
如果您一直使用密码连接 SSH 服务器,那么很可能您还没有可以放入 .ppk 文件中的私钥。
您在注册表中找到的内容和用途都不同。它是 OpenSSH 保存在文件中的内容的 PuTTY 等价物,即它不是您的私钥,而是代表服务器的
known_hosts
公钥(因为每个 SSH 服务器也有自己的密钥,就像 SSL 证书一样)。此类条目无法转换为 .ppk 文件,因为它们没有相应的私钥,而且您拥有服务器的 .ppk 也没有任何意义。因此,您应该 a)为自己生成一个 SSH 密钥(并确保将其添加到服务器的
authorized_keys
),或者 b) 继续使用密码,而根本不指定 .ppk 文件。