我正在运行 Kubuntu 15.04,在通过 SFTP 的 kio 从属连接时遇到问题。我可以通过 ssh 和命令行访问远程服务器,但无法通过 SFTP 通过 dolphin/konqueror 访问。我收到一条通知“未找到此服务器的主机密钥,但存在另一种类型的密钥。”将附上此通知的屏幕截图。我看到 KDE 的 Bugzilla 中有一个错误被提交,状态为已解决:https://bugs.kde.org/show_bug.cgi?id=274170对此进行讨论,但看起来存在同样的问题。
有什么想法吗?
答案1
这是 Dolphin 和 ECDSA 密钥的一个已知问题。OpenSSH 的最新版本已默认使用 ECDSA 而不是 RSA,这适用于大多数依赖 OpenSSH 的“已知主机”文件的实现。
Dolphin 的 kio_sftp 模块使用 libssh 而不是 OpenSSH 自己的库,而该库似乎不支持 ECDSA 密钥。KDE 错误报告中详细介绍了解决方法 - 删除现有密钥,并强制 OpenSSH 缓存 RSA 主机密钥(错误报告和下文详细介绍了示例命令行),或者直接使用 Dolphin 进行连接。
因为 KDE 错误已经解决,但我们仍然在 Kubuntu 15.04 中看到该错误,所以我在Kubuntu KDE 实现。
重置主机密钥的示例命令:
ssh-keygen -f "$HOME/.ssh/known_hosts" -R server
ssh -o HostKeyAlgorithms=ssh-rsa user@server
答案2
作为解决方法,您可以使用鱼://yourserver 而不是 sftp,这样就可以正常工作了。解决方案来自那里:https://superuser.com/questions/299940/kubuntu-cant-add-new-ssh-network-folder