Как исправить проблему несоответствия шифров с sftp?

я сталкиваюсь с проблемой, когда сервер был обновлен до RHEL 6.5, и у нас есть автоматизированные сценарии bash на установке RHEL 5.9, которая подключается через команды sftp и ssh.

теперь новый сервер поддерживает только шифры AES128-ctr, aes192-ctr и AES256-ctr.

я смог обновить команды ssh, чтобы использовать опцию-c с AES256-ctr, и это сработало:

ssh -c aes256-ctr ${remote_host} ${my_command}

однако, когда я попытался сделать эквивалент sftp:

sftp -oCipher=aes256-ctr ${remote_host} <<< $'get /home/me/* me/'

I получаю сообщение об ошибке, что клиент не поддерживает те же шифры, что и сервер:

соответствующий шифр не найден: клиент
arcfour256,aes128-CBC с,алгоритм 3DES-CBC с,иглобрюх-ПГС,cast128-CBC с,arcfour,aes192-CBC С,и AES256-CBC с
aes128-CTR и сервер,aes192-Суу,и AES256-Суу

эти ssh и sftp команды выполняются на том же поле RHEL 5.9, поэтому мне интересно, почему это работает для ssh, а не sftp?

кроме того, как это исправить, чтобы я мог подключиться с помощью sftp без любые изменения на стороне клиента?

5
задан Hazok
источник

1 ответов

Cipher директива предназначена для SSH версии 1 (которая в настоящее время не используется).

для SSH версии 2, Используйте Ciphers:

sftp -oCiphers=aes256-ctr

посмотреть ssh_config на странице.


обратите внимание, что sftp поддерживает -c переключатель тоже. Так что нет необходимости использовать -o.

посмотреть sftp на странице:

-c cipher

выбирает шифр для шифрования передаваемых данных.

Эта опция передается непосредственно ssh (1).

опция поддерживается начиная с OpenSSH 5.4. Изменение замаскировано под "поддерживает большинство аргументов командной строки scp(1) в sftp(1)".


обратите внимание на аргумент командной строки -c в первую очередь эквивалентно Ciphers директива (хотя она может вернуться к Cipher). Цитата из ssh на странице:

-c cipher_spec

выбирает спецификацию шифра для шифрования сеанса.

Версия протокола 1 позволяет спецификацию одного шифра. Поддерживаются значения "3des", "blowfish"и " des". Для протоколов версия 2, cipher_spec-разделенный запятыми список шифров, перечисленных в порядок предпочтения. Смотрите Ciphers ключевое слово ssh_config (5) дополнительные информация.

7
отвечен Martin Prikryl 2017-09-12 15:53:26
источник

Другие вопросы aes bash encryption sftp ssh