Доступен релиз OpenSSH 7.2, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP (временно оставлена поддержка устаревших протоколов SSH 1.3 и 1.5, но она требует активации на этапе компиляции).
В новой версии прекращена поддержка ряда возможностей, что может негативно отразиться на совместимости с существующими конфигурациями. В частности, по умолчанию отключены алгоритмы HMAC на основе MD5, шифры blowfish-cbc, cast128-cbc, все варианты arcfour и алиасы rijndael-cbc для AES. В следующем выпуске будет запрещено использование любых RSA-ключей, размером менее 1024 бит.
Изменения в OpenSSH 7.2:
- На платформе Linux добавлена поддержка системного вызова getrandom(), появившегося в ядре 3.17 и являющегося аналогом системного вызова getentropy, присутствующего в OpenBSD. Getrandom предоставит надёжную защиту от атак, основанных на исчерпании доступных файловых дескрипторов, за счёт предоставления случайных чисел от системного PRNG даже в условиях отсутствия свободных файловых дескрипторов;
- В Solaris и Illumos в реализациях ssh, sftp-server, ssh-agent и sshd задействованы специфичные для платформы механизмы гранулированного предоставления отдельных привилегий. В том числе задействованы pre-auth privsep sandbox и эмуляция вызова pledge();
- Обновлена спецификация пакета redhat/openssh.spec;
- Добавлена возможность совместного указания сборочных опций «—without-ssl-engine» и «—without-openssl»;
- Обеспечена совместимость с sandbox-режимом в BoringSSL;
- В файлах Makefile для генерации ключей хоста задействован вызов «ssh-keygen -A»;
- Добавлена поддержка использования алгоритмов хэширования SHA-256/512 в цифровых подписях RSA, в соответствии со спецификациями draft-rsa-dsa-sha2-256-03.txt и draft-ssh-ext-info-04.txt;
- В клиент ssh добавлена опция AddKeysToAgent, управляющая передачей в ssh-agent закрытого ключа, используемого в процессе аутентификации. Опция может принимать значения ‘yes’, ‘no’, ‘ask’, и ‘confirm’ (по умолчанию ‘no’)
- В sshd в директиву authorized_keys добавлена опция «restrict», которая охватывает все имеющиеся и реализованные в будущем ограничения по использованию ключей (no-*-forwarding и т.п.). Кроме того, добавлены антиподы существующим ограничителям, например, кроме «no-pty» добавлен «pty», что позволяет определять список исключений после указания «restrict»;
- В ssh для директивы ssh_config представлена опция CertificateFile, позволяющая явно перечислить файлы с сертификатами;
- В sshd добавлена возможность отключения запуска в фоновом режиме и использования chroot через указание значения none в директивах Foreground и ChrootDirectory (полезно для использования в блоках Match для переопределения поведения по умолчанию в особых ситуациях);
- В ssh-keygen добавлена возможность смены комментария к ключу во всех поддерживаемых форматах;
- В ssh-keygen добавлена поддержка создания отпечатка при загрузке ключа через стандартный входной поток («ssh-keygen -lf -«) и возможность формирования отпечатков сразу для нескольких открытых ключей, перечисленных в файле («ssh-keygen -lf ~/.ssh/authorized_keys»);
- В ssh-keygen при выполнении операции «ssh-keygen -L» добавлена возможность обработки нескольких сертификатов (по одному в строке) и их чтение из стандартного входного потока («-f -«);
- В ssh-keyscan добавлен флаг «ssh-keyscan -c …», позволяющий извлекать сертификаты вместо отдельных ключей;
- В ssh обеспечена нормализация заканчивающихся точкой доменных имён (например, ‘cvs.openbsd.org.’): точка теперь удаляется перед выполнением операций сравнения в ssh_config;
- Изменения, связанные с безопасностью:
- Удалён код с реализацией недокументированной функции роуминга, который был отключен в версии 7.1p2 из-за обнаружения критической уязвимости;
- В ssh запрещён переход из не заслуживающего доверия проброса X11 к перенаправлению на заслуживающий доверия сервер, в случае если на X-сервере отключено расширение SECURITY;
- В ssh и sshd до 2048 бит увеличен минимальный размер модуля для diffie-hellman-group-exchange;
- В sshd включено по умолчанию применение sandbox-изоляции на стадии до начала аутентификации (ранее, sandbox включался по умолчанию в sshd_config и действовал только для новых установок).