NoneConfig rclone для поддержки diffie-hellman-group-exchange-sha256 diffie-hellman-group-exchange-sha1
Некоторый быстрый фон. я использую rclone
передать данные на SFTP-сервер. rclone написан на Golang и использует lib crypto
под капотом. Когда мы пытаемся установить ssh-соединение с SFTP-сервером, мы получаем сообщение об ошибке
не удалось подключиться по SSH: ssh: handshake не удалось: ssh: нет общего алгоритма обмена ключами; клиент предложил: [curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group14-sha1 diffie-hellman-group1-sha1], сервер предложил: [diffie-hellman- групповой обмен-sha256 diffie-hellman-group-exchange-sha1].
crypto
В lib добавлена поддержка diffie-hellman-group-exchange-sha256 diffie-hellman-group-exchange-sha1
около 3 недель назад, но нужно зарегистрироваться. (См. https://github.com/golang/crypto/commit/57b3e21c3d5606066a87e63cfe07ec6b9f0db000)
Очевидно, что последняя версия rclone пока не поддерживает эти алгоритмы. Итак, вопрос в том, кто знает, как настроить rclone для поддержки поддержки алгоритма. diffie-hellman-group-exchange-sha256 diffie-hellman-group-exchange-sha1
2 ответа
Нам удалось включить поддержку этих алгоритмов и отправить PR здесь: https://github.com/ncw/rclone/pull/3341
Примечание: поскольку эти алгоритмы считаются небезопасными, вам также необходимо использовать существующий флаг rclone --sftp-use-insecure-cipher
сделать их доступными для рукопожатия SSH.
Интерактивный
rclone config
теперь также обеспечивает включение небезопасных шифров:
Enable the use of insecure ciphers and key exchange methods.
This enables the use of the following insecure ciphers and key exchange methods:
- aes128-cbc
- aes192-cbc
- aes256-cbc
- 3des-cbc
- diffie-hellman-group-exchange-sha256
- diffie-hellman-group-exchange-sha1
Those algorithms are insecure and may allow plaintext data to be recovered by an attacker.
Enter a boolean value (true or false). Press Enter for the default ("false").
Choose a number from below, or type in your own value
1 / Use default Cipher list.
\ "false"
2 / Enables the use of the aes128-cbc cipher and diffie-hellman-group-exchange-sha256, diffie-hellman-group-exchange-sha1 key exchange.
\ "true"
use_insecure_cipher> 2