OpenSSH 9.5p1 がリリースされました

2023/10/04, OpenSSH 9.5p1 がリリースされました.

バグ修正中心で少し新機能があるリリースです. ObscureKeystrokeTiming は興味深いですね.

Changes since OpenSSH 9.4
=========================

OpenSSH 9.4 からの変更点

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

このリリースは多数のバグを修正しいくつかの小さな機能を追加する.

Potentially incompatible changes
--------------------------------

潜在的に非互換な変更

 * ssh-keygen(1): generate Ed25519 keys by default. Ed25519 public keys
   are very convenient due to their small size. Ed25519 keys are
   specified in RFC 8709 and OpenSSH has supported them since version 6.5
   (January 2014).

   ssh-keygen(1): デフォルトで Ed25519 鍵を生成する. その小さいサイズのため
   Ed25519 公開鍵は非常に便利だ. Ed25519 鍵は RFC 8709 で規定され, OpenSSH
   では (2014/01 の) バージョン 6.5 からサポートしている.
    
 * sshd(8): the Subsystem directive now accurately preserves quoting of
   subsystem commands and arguments. This may change behaviour for exotic
   configurations, but the most common subsystem configuration
   (sftp-server) is unlikely to be affected.

   sshd(8): Subsystem 設定項目はサブシステムのコマンドと引数のクォートを
   正確に保持するようになる. これは, 風変りな設定で動作を変えるかもしれない.
   ただし, 最も一般的なサブシステムの設定 (sftp-server) が影響を受けることは
   ありそうもない.

New features
------------

新機能

 * ssh(1): add keystroke timing obfuscation to the client. This attempts
   to hide inter-keystroke timings by sending interactive traffic at
   fixed intervals (default: every 20ms) when there is only a small
   amount of data being sent. It also sends fake "chaff" keystrokes for
   a random interval after the last real keystroke. These are
   controlled by a new ssh_config ObscureKeystrokeTiming keyword.

   ssh(1): キーストロークのタイミングの難読化をクライアントに追加する.
   少ない量のデータが送られる場合にのみ, 固定した間隔 
   (デフォルト: 20ms ごと) でインタラクティブなトラフィック を送ることで,
   キーストローク間のタイミングを隠すことを試みる. また, 最後の本物の
   キーストロークの後にランダムな間隔で 偽の "chaff" キーストロークも
   送る. これらは 新しい ssh_config の ObscureKeystrokeTiming 設定項目で
   制御される.
    
 * ssh(1), sshd(8): Introduce a transport-level ping facility. This adds
   a pair of SSH transport protocol messages SSH2_MSG_PING/PONG to
   implement a ping capability. These messages use numbers in the "local
   extensions" number space and are advertised using a "ping@openssh.com"
   ext-info message with a string version number of "0".

   ssh(1), sshd(8): トランスポートレベルでの ping 機能を導入する. これは
   ping 機能を実装する SSH トランスポートプロトコルメッセージ SSH2_MSG_PING/PONG 
   ペアを追加する. これらのメッセージは "local extensions" の番号空間の
   番号を利用し, 文字列バージョン番号 "0" での "ping@openssh.com" ext-info
   メッセージを用いて広告される.
    
 * sshd(8): allow override of Sybsystem directives in sshd Match blocks.

   sshd(8): sshd Match ブロックでの Subsystem 設定項目の上書きを許す.

Bugfixes
--------

バグ修正

 * scp(1): fix scp in SFTP mode recursive upload and download of
   directories that contain symlinks to other directories. In scp mode,
   the links would be followed, but in SFTP mode they were not. bz3611

   scp(1): SFTP モードでの scp で, 他のディレクトリへのシンボリックリンク
   を含むディレクトリの再帰的アップロード/ダウンロードを修正する.
    
 * ssh-keygen(1): handle cr+lf (instead of just cr) line endings in
   sshsig signature files.

   ssh-keygen(1): sshsig 署名ファイルの (単なる cr の代わりに)
   cr+lf での行終端を扱う.
    
 * ssh(1): interactive mode for ControlPersist sessions if they
   originally requested a tty.

   ssh(1): ControlPersist セッションで それがもともと tty を要求していた場合に
   インタラクティブモードを設定する.

# https://github.com/openssh/openssh-portable/commit/43254b326ac6e2131dbd750f9464dc62c14bd5a7
    
 * sshd(8): make PerSourceMaxStartups first-match-wins

   sshd(8): PerSourceMaxStartups 設定項目は最初にマッチしたものを採用するようにする.
    
 * sshd(8): limit artificial login delay to a reasonable maximum (5s)
   and don't delay at all for the "none" authentication mechanism.cw
    bz3602

   sshd(8): 人工的なログインの遅延を合理的な最大値 (5s) に制限し,
   "none" 認証メカニズムの場合はまったく遅延しないようにする.
    bz3602
   
 * sshd(8): Log errors in kex_exchange_identification() with level
   verbose instead of error to reduce preauth log spam. All of those
   get logged with a more generic error message by sshpkt_fatal().

   sshd(8): 認証前のログ spam を削減するため, key_exchange_identification()
   でのエラーをレベル error の代わりに verbose で記録する. これらのすべては
   sshpkt_fatal() によってより一般的なエラーメッセージと共に記録されている.
    
 * sshd(8): correct math for ClientAliveInterval that caused the probes
    to be sent less frequently than configured.

   sshd(8): 設定されたものよりも少ない頻度でプローブが送信される
   原因となっていた ClientAliveInterval の計算を修正する.
    
 * ssh(1): fix regression in OpenSSH 9.4 (mux.c r1.99) that caused
   multiplexed sessions to ignore SIGINT under some circumstances.

   ssh(1): いくつかの環境で SIGINT を無視する多重化セッションを生じていた
   OpenSSH 9.4 (mux.c r1.99) の不具合を修正する.

Portability
-----------

移植性

 * Avoid clang zero-call-used-regs=all bug on Apple compilers, which
   for some reason have version numbers that do not match the upstream
   clang version numbers. bz#3584

   Apple コンパイラでの clang zero-call-used-regs=all バグを回避する.
   これらは 何らかの理由で アップストリームの clang のバージョン番号と一致しない
   バージョン番号を持っている. bz#3584

 * Fix configure test for zlib 1.3 and later/development versions. bz3604

   zlib 1.3 以降/開発バージョンでの configure のテストを修正する. bz3604