Выпуск OpenSSH 6.8
18 марта 2015 года
Доступен выпуск OpenSSH 6.8 - открытой реализации клиента и сервера для работы по протоколам SSH (1.3, 1.5 и 2.0) и SFTP. Из наиболее важных улучшений можно отметить возможность сборки без OpenSSL, проведение внутреннего рефакторинга, возможность автозамены ключей хоста на стороне клиента, встроенную реализацию списков отозванных сертификатов, изменение формата отпечатков ключей.
Основные улучшения:
- Переработана значительная часть внутреннего кода с целью выноса базовых частей OpenSSH в отдельную библиотеку. Несмотря на то, что связанные с рефакторингом изменения не заметны пользователям, они позволили существенно улучшить тестируемость кода и оптимизировать внутреннюю структуру проекта;
- В ssh и sshd добавлена опция FingerprintHash, через которую можно управлять выбором алгоритма для создания fingerprint-отпечатков ключей. По умолчанию отпечатки теперь создаются с использованием хэша SHA256 и формата base64, вместо ранее применяемого шестнадцатеричного вывода MD5. Кроме того, строка с отпечатком теперь содержит явное указание алгоритма хэширования, например, "SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE";
- Экспериментальная поддержка автозамены ключей хоста. Реализовано специальное расширение протокола "hostkeys@openssh.com", позволяющее серверу после прохождения аутентификации информировать клиента о всех доступных ключах хоста. Клиент может отразить эти ключи в своём файле ~/.ssh/known_hosts, что позволяет организовать обновление ключей хоста и упрощает смену ключей на сервере. На стороне клиента обновление ключей хоста можно разрешить воспользовавшись опцией UpdateHostkeys (по умолчанию значение "no").
В качестве примера можно привести переход от ключей DSA, для работы с которыми требуется OpenSSL/LibreSSL, на интегрированную в OpenSSH реализацию цифровой подписи с открытым ключом Ed25519. При использовании новой функции, sshd отправит клиенту все имеющиеся на сервере открытые ключи узла. В свою очередь, клиент осуществит замену всех имеющихся ключей доверяемого узла на предоставленные таким образом новые ключи. Для инициирования замены ключей на сервере, необходимо в sshd_config одновременно указать как старые, так и новые ключи, добавив дополнительные секции HostKey;
- Переносимая версия OpenSSH избавлена от привязки к OpenSSL и теперь может быть собрана без OpenSSL/LibreSSL. При сборке с опцией "--without-openssl" вместо OpenSSL будет использован только внутренний набор алгоритмов ( curve25519, aes-ctr, chacha20+poly1305 и ed25519), применяемых при использовании протокола SSH-2, а протокол SSH-1 поддерживаться не будет. Работа без OpenSSL пока возможна только на системах, предоставляющих механизмы arc4random или /dev/urandom для доступа к генераторам псевдослучайных чисел;
- Реализована встроенная поддержка списков отозванных ключей KRL (Key Revocation List) в ssh-keygen и sshd, не требующая сборки с OpenSSL;
- Параметр UseDNS по умолчанию теперь принимает значение 'no', что потребует явного указания "UseDNS yes" для конфигураций в которых в sshd_config или authorized_keys применяется сопоставление по именам клиентских хостов;
- В ssh и ssh-keysign обеспечена возможность использования ключей ed25519 для аутентификации в привязке к хосту (Host-based Authentication);
- В sshd обеспечено запоминание уже использованного для аутентификации открытого ключа и отвержение попыток указания того же ключа при аутентификации по двум ключам. Иными словами, если в настройках указано "AuthenticationMethods=publickey,publickey", то пользователь теперь должен использовать два разных ключа;
- В sshd_config добавлены опции HostbasedAcceptedKeyTypes и
PubkeyAcceptedKeyTypes, позволяющие определить допустимые типы открытых ключей. По умолчанию разрешены все типы ключей. В свою очередь для клиента в ssh_config добавлена опция HostbasedKeyType, дающая возможность указать допустимые типы открытых ключей хоста;
- В ssh добавлена опция RevokedHostKeys, позволяющая подключить список отозванных ключей хоста в форме текстового файла или KRL;
- В ssh-keygen и sshd добавлена поддержка отзыва сертификатов по их порядковому номеру или идентификатору ключа, не вдаваясь в подробности привязки к CA;
- В ssh добавлена опция "-G", в которой по аналогии с "sshd -T" производится разбор конфигурации и её дамп в стандартный выходной поток;
- В ssh реализована поддержка операции отрицания в блоках Match. Например, "Match !host";
- В ssh и sshd устранены проблемы с обрывом соединения при предоставлении нескольких ECDSA-ключей разного размера;
- В переносимую версию OpenSSH добавлена опция "--without-ssh1", позволяющая собрать пакет без поддержки первой версии протокола SSH;
- При работе в окружении Cygwin для sshd реализована возможность указанием собственных имён сервисов, что позволяет запустить несколько экземпляров sshd с разными именами сервисов.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.