如何将PuTTY私钥添加到OpenSSH客户端

如何将PuTTY私钥添加到OpenSSH客户端

我正在尝试在新的 Ubuntu 14.04 系统上设置 scp。该系统将充当另一个 Ubuntu 14.04 系统上已配置的 SSH 服务器的 SSH 客户端。我可以使用 putty 通过 SSH 连接到现有的 SSH 服务器实例,但在使用私钥配置新的客户端系统时遇到问题。我是这些系统的唯一用户,因此我使用现有的私钥,因为它对应于 SSH 服务器上已有的公钥。

到目前为止,在新的客户端系统上我已将私钥添加到文件~./ssh/known_hosts/etc/ssh/<username>/authorized_keys文件中。我还修改了sshd_config允许基于 RSA 的身份验证。当我在客户端上运行 scp 命令时,我得到以下输出:

The authenticity of host '192.168.17.99 (192.168.17.99)' can't be established.
ECDSA key fingerprint is 8a:cc:5b:f0:c4:ef:d7:e1:94:67:59:72:8d:a9:60:0b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.17.99' (ECDSA) to the list of known hosts.
Permission denied (publickey).
cp: cannot stat ‘[email protected]’: No such file or directory

我最初使用 puttygen 创建密钥对。我将私钥文件 (.ppk) 上传到客户端系统,并使用 cat 将内容合并到文件中~./ssh/known_hosts,然后将其复制到/etc/ssh/user/authorized_keys文件中。这两个文件都包含相同的公钥和私钥。这是我的 ssh 配置:

Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no

我认为问题可能出在 ECDSA 上。看起来好像有东西需要 ECDSA 密钥,但我使用的是基于 RSA 的密钥。这是问题所在吗?如果是这样,是什么控制着它以及如何改变它?我的另一个担忧是known_hosts 和authorized_keys 文件的内容似乎是putty 特定格式,所以我想知道这是否也可能是一个问题。

相关内容