一些快速的背景。我rclone
用来将数据传输到 SFTP 服务器。rclone 是用 Golang 编写的,并在后台使用 lib crypto
。当我们尝试与 SFTP 服务器建立 ssh 连接时,我们收到错误消息
无法连接 SSH:ssh:握手失败:ssh:没有通用的密钥交换算法;客户端提供:[curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group14-sha1 diffie-hellman-group1-sha1],服务器提供:[diffie-hellman- group-exchange-sha256 diffie-hellman-group-exchange-sha1]。
crypto
lib 大约在 3 周前添加了支持diffie-hellman-group-exchange-sha256 diffie-hellman-group-exchange-sha1
,但需要选择加入。(见https://github.com/golang/crypto/commit/57b3e21c3d5606066a87e63cfe07ec6b9f0db000)
显然,最新的 rclone 版本还没有选择加入这些算法支持。所以问题是:任何人都知道如何配置 rclone 以选择加入算法支持diffie-hellman-group-exchange-sha256 diffie-hellman-group-exchange-sha1