OpenSSH 9.4 リリース準備中 / Call for testing: OpenSSH 9.4

OpenSSH 9.4 がリリース準備中です.

Call for testing: OpenSSH 9.4

Changes since OpenSSH 9.3p2

OpenSSH 9.3p2 からの変更点

This release fixes a number of bugs and adds some small features.


Potentially incompatible changes


 * This release removes support for older versions of libcrypto.
   OpenSSH now requires LibreSSL >= 3.1.0 or OpenSSL >= 1.1.1.
   Note that these versions are already deprecated by their upstream

   このリリースは libcrypto の古いバージョンのサポートを除く.
   OpenSSH は LibreSSL >= 3.1.0 か OpenSSL >= 1.1.1 を必要とする.
   除かれたバージョンは, それぞれの上流のベンダーによって既に

 * ssh-agent(1): PKCS#11 modules must now be specified by their full
   paths. Previously dlopen(3) could search for them in system
   library directories.

   ssh-agent(1): PKCS#11 モジュールは, そのフルパスによって指定され
   なければならなくなる. 以前は dlopen(3) はシステムのライブラリ

New features


 * ssh(1): allow forwarding Unix Domain sockets via ssh -W.

   ssh(1): ssh -W によって Unix ドメインソケットの転送が

 * ssh(1): add support for configuration tags to ssh(1).
   This adds a ssh_config(5) "Tag" directive and corresponding
   "Match tag" predicate that may be used to select blocks of
   configuration similar to the pf.conf(5) keywords of the same

   ssh(1): ssh(1) に対する設定タグのサポートを追加する.
   同じ名前の pf.conf(5) と同様の設定のブロックを用いるのに
   利用できる ssh_config(5) の "Tag" 設定項目と関連する 
   "Match tag" 述語を追加する. 

 * ssh(1): add a "match localnetwork" predicate. This allows matching
   on the addresses of available network interfaces and may be used to
   vary the effective client configuration based on network location.

   "match localnetwork" 述語を追加する. ネットワークロケーション

 * ssh(1), sshd(8), ssh-keygen(1): infrastructure support for KRL
   extensions.  This defines wire formats for optional KRL extensions
   and implements parsing of the new submessages. No actual extensions
   are supported at this point.

   ssh(1), sshd(8), ssh-keygen(1): KRL 拡張の基盤サポート. 選択可能な
   KRL 拡張の通信フォーマットを定義し, 新しいサブメッセージのパースを
   実装する. 現時点では実際の拡張はサポートされていない.

 * sshd(8): AuthorizedPrincipalsCommand and AuthorizedKeysCommand now
   accept two additional %-expansion sequences: %D which expands to
   the routing domain of the connected session and %C which expands
   to the addresses and port numbers for the source and destination
   of the connection.

   sshd(8): AuthorizedPrincipalsCommand と AuthorizedKeysCommand が
   2 つの追加の %-拡張シーケンスを受けつける: %D は接続セッションの
   ルーティングドメインに展開される. %C は 接続元/先のアドレスとポート

 * ssh-keygen(1): increase the default work factor (rounds) for the
   bcrypt KDF used to derive symmetric encryption keys for passphrase
   protected key files by 50%.

   ssh-keygen(1): パスフレーズで保護される鍵の共通暗号鍵を導出
   するのに用いられる bcrypt KDF のデフォルトの work factor (ラウンド)
   を 50% 増やす.



 * ssh-agent(1): improve isolation between loaded PKCS#11 modules
   by running seperate ssh-pkcs11-helpers for each loaded provider.

   ssh-agent(1): それぞれのロードされたプロバイダごとに
   別々の ssh-pkcs11-helpers を実行することで ロードされた PKCS#11

 * ssh(1): make -f (fork after authentication) work correctly with
   multiplexed connections, including ControlPersist. bz3589 bz3589

   ssh(1):  -f (認証後の fork) がControlPersist を含む多重化された接続で
   正しく動作する. bz3589

 * ssh-agent(1), ssh(1): improve defences against invalid PKCS#11
   modules being loaded by checking that the requested module
   contains the required symbol before loading it.

   ssh-agent(1), ssh(1): ロード前に必要なシンボルを含む要求された
   不正な PKCS#11 モジュールに対する防御を改善する.

 * sshd(8): fix AuthorizedPrincipalsCommand when AuthorizedKeysCommand
   appears before it in sshd_config. Since OpenSSH 8.7 the
   AuthorizedPrincipalsCommand directive was incorrectly ignored in
   this situation. bz3574

   sshd(8): sshd_config で  AuthorizedKeysCommand が
   AuthorizedPrincipalsCommand より前に出現する場合の AuthorizedPrincipalsCommand
   を修正する. OpenSSH 8.7 より この状況では AuthorizedPrincipalsCommand 
   設定項目は不正に無視されていた. bz3574

 * sshd(8), ssh(1), ssh-keygen(1): remove vestigal support for KRL
   signatures When the KRL format was originally defined, it included
   support for signing of KRL objects. However, the code to sign KRLs
   and verify KRL signatues was never completed in OpenSSH. This
   release removes the partially-implemented code to verify KRLs.
   All OpenSSH tools now ignore KRL_SECTION_SIGNATURE sections in
   KRL files.

   sshd(8), ssh(1), ssh-keygen(1): KRL 署名の名残りのサポートを削除する.
   KRL フォーマットが元々定義されたとき, KRL オブジェクトの署名の
   サポートが含まれていた. しかし, KRL の署名と KRL 署名の検証のコードは
   OpenSSH では完了することはなかった. このリリースで KRL を検証する
   部分的に実装されたコードを削除する. すべての OpenSSH ツールは

 * All: fix a number of memory leaks and unreachable/harmless integer

   All: 多数のメモリリークと到達しない/害のない整数オーバーフローを

 * ssh-agent(1), ssh(1): don't truncate strings logged from PKCS#11
   modules; GHPR406

   ssh-agent(1), ssh(1): PKCS#11 モジュールからログされる文字列を
   切り詰めない; GHPR406

 * sshd(8), ssh(1): better validate CASignatureAlgorithms in
   ssh_config and sshd_config. Previously this directive would accept
   certificate algorithm names, but these were unusable in practice as
   OpenSSH does not support CA chains. bz3577

   sshd(8), ssh(1): ssh_config と sshd_config での CASignatureAlgorithms
   の検証を改善する. 以前はこの設定項目は証明書のアルゴリズム名を
   受け付けていたが, OpenSSH が CA チェーンをサポートしていない場合
   実際には不安定だった. bz3577

 * ssh(1): make `ssh -Q CASignatureAlgorithms` only list signature
   algorithms that are valid for CA signing. Previous behaviour was
   to list all signing algorithms, including certificate algorithms.

   ssh(1): `ssh -Q CASignatureAlgorithms` は CA 署名で正当な
   アルゴリズムのみを列挙するようになる. 以前の動作は,

 * ssh-keyscan(1): gracefully handle systems where rlimits or the
   maximum number of open files is larger than INT_MAX; bz3581

   ssh-keyscan(1): INT_MAX よりも大きな rlimits や ファイルの最大
   オープン数のシステムを慈悲深く取り扱う; bz3581

 * ssh-keygen(1): fix "no comment" not showing on when running
   `ssh-keygen -l` on multiple keys where one has a comment and other
   following keys do not. bz3580

   ssh-keygen(1): 1つはコメントを持ちそれ以外の続く鍵が持たない場合に
   複数の鍵に対する `ssh-keygen -l` を実行した再に "no comment" が
   表示されないのを修正する. bz3580

 * scp(1), sftp(1): adjust ftruncate() logic to handle servers that
   reorder requests. Previously, if the server reordered requests then
   the resultant file would be erroneously truncated.

   scp(1), sftp(1): リクエストを再送するサーバを扱う ftruncate() ロジック
   を調整する. 以前は, サーバがリクエストを再送信すると結果のファイルは

 * ssh(1): don't incorrectly disable hostname canonicalization when
   CanonicalizeHostname=yes and ProxyJump was expicitly set to
   "none". bz3567

   ssh(1): CanonicalizeHostname=yes で ProxyJump が明示的に "none" に
   設定されている場合, ホスト名の正規化を誤って無効にしないようにする.

 * scp(1): when copying local->remote, check that the source file
   exists before opening an SFTP connection to the server. Based on

   scp(1): ローカルからリモートに転送する再, サーバに SFTP 接続を
   する前に ソースファイルが存在するか検査する. GHPR#370 をベースに



 * All: a number of build fixes for various platforms and
   configuration combinations.

   All: 様々なプラットフォームと設定の組合せで多数のビルドの問題を

 * sshd(8): provide a replacement for the SELinux matchpathcon()
   function, which is deprecated.

   sshd(8): 非推奨となった SELinux matchpathcon() 関数の

 * All: relax libcrypto version checks for OpenSSL >=3. Beyond
   OpenSSL 3.0, the ABI compatibility guarantees are wider (only
   the library major must match instead of major and minor in
   earlier versions).  bz#3548.

   OpenSSL >= 3 での libcrypto バージョンチェックを緩和する
   OpenSSL 3.0 より先では, ABI の互換性保証はより拡大している
   (以前のバージョンでは, ライブラリのメジャーバージョンのみが
   一致しなければならなかった. 現在は メジャーとマイナーが一致しな
   ければならない). bz#3548

 * Tests: fix build problems for the FIDO provider module
   used in some tests.

   テスト: いくつかのテストで用いられる FIDO プロバイダ