tag: ssh

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

20 Sep, 2024 - 7 minutes

2024/09/20, OpenSSH 9.9p1 がリリースされました.

“Match” 設定項目の引数の処理が変更されています. 特に “Match exec” を利用している場合には注意が必要と思います.

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

15 Sep, 2024 - 7 minutes

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

Call for testing: OpenSSH 9.9

https://lists.mindrot.org/pipermail/openssh-unix-dev/2024-September/041574.html

Future deprecation notice
=========================

将来非推奨となる機能の告知

OpenSSH plans to remove support for the DSA signature algorithm in
early 2025. This release disables DSA by default at compile time.

OpenSSH は 2025年前半に DSA 署名アルゴリズムに対するサポートを除く
ことを計画している.
このリリースでコンパイル時にデフォルトでは DSA を無効にする.

DSA, as specified in the SSHv2 protocol, is inherently weak - being
limited to a 160 bit private key and use of the SHA1 digest. Its
estimated security level is only 80 bits symmetric equivalent.

SSHv2 プロトコルで指定された DSA は 本質的に弱い - 秘密鍵が 160 bit
に制限されていて SHA1 ハッシュを用いている. 見積もられるセキュリティレベル
は共通鍵暗号の 80 bit しかない.

OpenSSH has disabled DSA keys by default since 2015 but has retained
run-time optional support for them. DSA was the only mandatory-to-
implement algorithm in the SSHv2 RFCs, mostly because alternative
algorithms were encumbered by patents when the SSHv2 protocol was
specified.

OpenSSH は 2015 年以降 DSA 鍵をデフォルトで無効にしているが, 
ランタイムでの(任意の)サポートは維持している. DSA は,
SSHv2 プロトコルが仕様化された際に代替のアルゴリズムが特許で阻まれていた
ため, SSHv2 RFC[3] 中で実装が必須の唯一のアルゴリズムだ.

This has not been the case for decades at this point and better
algorithms are well supported by all actively-maintained SSH
implementations. We do not consider the costs of maintaining DSA
in OpenSSH to be justified and hope that removing it from OpenSSH
can accelerate its wider deprecation in supporting cryptography
libraries.

現時点では何十年もこのような(特許による障害がある)場合は起こっておらず, 
すべての活発に維持されている SSH の実装でよりよいアルゴリズムが
十分にサポートされている. 我々は OpenSSH で DSA を維持するコストが
正当化されるとは考えておらず, OpenSSH から DSA を除くことが
(DSAを) サポートしている暗号ライブラリでのより広い DSA の非推奨への加速
を期待している.

Currently DSA is disabled at compile time by default. The final
step of removing DSA support entirely is planned for the first
OpenSSH release of 2025.

現在 DSA はデフォルトでコンパイル時に無効となっている. DSA サポートの
完全な除去の最後の段階は 2025 年の最初の OpenSSH のリリースで
予定されている.

DSA support may be re-enabled in OpenBSD by setting "DSAKEY=yes"
in Makefile.inc. To enable DSA support in portable OpenSSH, pass
the "--enable-dsa-keys" option to configure.

DSA のサポートは OpenBSD では Makefile.inc で "DSAKEY=yes" と
設定することで再有効化できる. 移植版 OpenSSH で DSA サポートを
有効にするには configure に "--enable-dsa-keys" を渡す.

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

潜在的に非互換な変更

 * ssh(1): remove support for pre-authentication compression.
   OpenSSH has only supported post-authentication compression in
   the server for some years. Compression before authentication
   significantly increases the attack surface of SSH servers and risks
   creating oracles that reveal information about information sent
   during authentication.

   ssh(1): 認証前の圧縮のサポートを除去する. OpenSSH はこの数年
   サーバーでの認証後の圧縮のみをサポートしている. 認証前の圧縮は
   SSH サーバーの攻撃面を顕著に増加させ, 認証中に送られた情報について
   の情報を明らかにするオラクルを作成されるリスクも高める.

 * ssh(1), sshd(8): processing of the arguments to the "Match"
   configuration directive now follows more shell-like rules for
   quoted strings, including allowing nested quotes and \-escaped
   characters. If configurations contained workarounds for the
   previous simplistic quote handling then they may need to be
   adjusted.

   "Match" 設定項目の引数の処理が, ネストされたクオートや \ で
   エスケープされた文字を許すことを含む, クオート文字に対する
   よりシェルのようなルールに従うようになる. 設定が以前の単純な
   クオート処理に対するワークアラウンドを含んでいる場合,
   調整が必要となるかもしれない.

Changes since OpenSSH 9.8
=========================

OpenSSH 9.8 からの変更

This release contains a number of new features and bugfixes.

このリリースはたくさんの新機能とバグ修正を含んでいる.

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

新機能

 * ssh(1), sshd(8): add support for a new hybrid post-quantim key
   exchange based on on the FIPS 203 Module-Lattice Key Enapsulation
   mechanism (ML-KEM) combined with X25519 ECDH as described by
   https://datatracker.ietf.org/doc/html/draft-kampanakis-curdle-ssh-pq-ke-03
   This algorithm "mlkem768x25519-sha256" is available by default.

   FIPS 203 Module-Lattice Enapsulation mechanism (ML-KEM) と
   X25519 ECDH を組み合わせ (詳細は
   https://datatracker.ietf.org/doc/html/draft-kampanakis-curdle-ssh-pq-ke-03
   )をベースにする新しいハイブリッド耐量子
   鍵交換のサポートを追加する. 
   このアルゴリズム "mlkem768x25519-sha256" はデフォルトで利用可能だ.

 * ssh(1): the ssh_config "Include" directive can now expand
   environment as well as the same set of %-tokens "Match Exec"
   supports.

   ssh(1): ssh_config の "Include" 設定項目は "Match Exec" でサポート
   されている %-トークンと同じセットのように環境変数を展開できる.

 * sshd(8): add a sshd_config "RefuseConnection" option that, if set
   will terminate the connection at the first authentication request.

   sshd(8): sshd_config に "RefuseConnection" 設定項目を追加する.
   設定すると最初に認証リクエストの時点で接続を終了する.

 * sshd(8): add a "refuseconnection" penalty class to sshd_config
   PerSourcePenalties that is applied when a connection is dropped by
   the new RefuseConnection keyword.

   sshd(8): sshd_config の PerSourcePenalties に "refuseconnection"
   ペナルティクラスを追加する. 新しい RefuseConnection 設定項目に
   よって接続が切断された場合に適用される.

 * sshd(8): add a "Match invalid-user" predicate to sshd_config Match
   options that matches when the target username is not valid on the
   server.

   sshd(8): "Match invalid-user" 述語を sshd_config の Match 設定項目に
   追加する. ターゲットユーザー名がサーバで有効でない場合にマッチする.

 * ssh(1), sshd(8): update the Streamlined NTRUPrime code to a
   substantially faster implementation.

   ssh(1), sshd(8): Streamlined NTRUPrime のコードを大幅に高速な
   実装に更新する.

 * ssh(1), sshd(8): the hybrid Streamlined NTRUPrime/X25519 key
   exchange algorithm now has an IANA-assigned name in addition to
   the "@openssh.com" vendor extension name. This algorithm is now
   also available under this name "sntrup761x25519-sha512"

   ssh(1), sshd(8): ハイブリッド Streamlined NTRUPrime/X25519 鍵交換
   アルゴリズムは今や "@openssh.com" のベンダー拡張名に加えて IANA 
   に割り当てられた名前も持つ. これによりアルゴリズムは今や
   "sntrup761x25519-sha512" という名前でも利用可能だ.

 * ssh(1), sshd(8), ssh-agent(1): prevent private keys from being
   included in core dump files for most of their lifespans. This is
   in addition to pre-existing controls in ssh-agent(1) and sshd(8)
   that prevented coredumps. This feature is supported in OpenBSD,
   Linux and FreeBSD.

   ssh(1), sshd(8), ssh-agent(1): 秘密鍵をその生存期間のほとんどに
   おいてコアダンプファイルに含まれないようにする. これは ssh-agent(1) と
   sshd(8) がコアダンプを阻止する既存の制御への追加だ. この機能は
   OpenBSD と Linux, FreeBSD でサポートされている.

 * All: convert key handling to use the libcrypto EVP_PKEY API, with
   the exception of DSA.

   すべて: DSA を除いて, 鍵の処理を libcrypto EVP_PKEY API を用いる
   ように変換する.

 * sshd(8): add a random amount of jitter (up to 4 seconds) to the
   grace login time to make its expiry unpredictable.

   sshd(8): 期限切れを予測不能とするため, 猶予ログイン時間に
   ランダムなジッタ(最大4秒)を追加する.

Bugfixes
--------

バグ修正

 * sshd(8): relax absolute path requirement back to what it was prior
   to OpenSSH 9.8, which incorrectly required that sshd was started
   with an absolute path in inetd mode. bz3717

   sshd(8): 絶対パスの要求を OpenSSH 9.8 より前のものに戻して緩和する.
   OpenSSH 9.8 では sshd が inetd モードで起動する際に絶対パスで起動
   することを誤って要求していた.

 * sshd(8): fix regression introduced in openssh-9.8 that swapped the
   order of source and destination addresses in some sshd log messages.

   sshd(8): いくつかのログメッセージで送信元アドレスと宛先アドレスの
   順番が入れ替わる openssh-9.8 で導入されたリグレッションを修正する.

 * sshd(8): do not apply authorized_keys options when signature
   verification fails. Prevents more restrictive key options being
   incorrectly applied to subsequent keys in authorized_keys. bz3733

   sshd(8): 署名検証が失敗した場合に authorized_keys のオプションを
   適用しない. より厳しい鍵のオプションが誤って authorized_keys
   の後続の鍵に適用されていたのを防ぐ. bz3733

 * ssh-keygen(1): include pathname in some of ssh-keygen passphrase
   prompts. Helps the user know what's going on when ssh-keygen is
   invoked via other tools. Requested in GHPR503

   ssh-keygen(1): ssh-keygen のパスフレーズのプロンプトのいくつかに
   パス名を含む. ssh-keygen が他のツールから呼び出された場合に
   ユーザーが状況を把握するのを助ける. GHPR503 で要求された.

 * ssh(1), ssh-add(1): make parsing user@host consistently look for
   the last '@' in the string rather than the first. This makes it
   possible to more consistently use usernames that contain '@'
   characters.

   ssh(1), ssh-add(1): user@host の解析を一貫して 文字列中の最初の 
   '@' ではなく 最後の '@' をを探すようにする. これにより '@' 文字
   を含むユーザー名がより一貫して利用できるようになる.

 * ssh(1), sshd(8): be more strict in parsing key type names. Only
   allow short names (e.g "rsa") in user-interface code and require
   full SSH protocol names (e.g. "ssh-rsa") everywhere else. bz3725

   ssh(1), sshd(8): 鍵タイプ名のパースをより厳格にする. ユーザー
   インターフェイスのコードでのみ短い名前(例えば "rsa") を許し,
   全ての箇所で完全な SSH プロトコル名 (例えば "ssh-rsa") を
   要求する. bz3725

 * regress: many performance and correctness improvements to the
   re-keying regression test.

   regress: re-keying 回帰テストのたくさんのパフォーマンスと正確性の改善.

 * ssh-keygen(1): clarify that ed25519 is the default key type
   generated and clarify that rsa-sha2-512 is the default signature
   scheme when RSA is in use. GHPR505

   ssh-keygen(1): ed25519 が生成される鍵タイプのデフォルトなことを明確に
   する. また RSA が用いられる際 rsa-sha-512 がデフォルトの署名スキーム
   なことを明確にする. GHPR505

 * sshd(8): fix minor memory leak in Subsystem option parsing; GHPR515

   sshd(8): Subsystem 設定項目の解析での小さなメモリリークを修正する;
   GHPR515

 * All: additional hardening and consistency checks for the sshbuf
   code.

   すべて: sshbuf コードに対する追加の堅牢化と一貫性の検査.

 * sshd(8): reduce default logingrace penalty to ensure that a single
   forgotton login that times out will be below the penalty threshold.

   sshd(8): タイムアウトした単一のログイン忘れが ペナルティの閾値を
   下回るようデフォルトの logingrace ペナルティを低減する.

 * ssh(1): fix proxy multiplexing (-O proxy) bug. If a mux started with
   ControlPersist then later has a forwarding added using mux proxy
   connection and the forwarding was used, then when the mux proxy
   session terminated, the mux master process would issue a bad message
   that terminated the connection.

   ssh(1): プロキシの多重化 (-O proxy) のバグを修正する. ControlPersist
   と共に開始された多重化が, 後で多重化プロキシ接続を用いて転送が追加され,
   その転送が利用されると, 多重化プロキシセッションが終了する際に
   多重化マスタープロセスは接続を終了させる不正なメッセージを発行していた.

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

移植性

 * sync contrib/ssh-copy-id to the latest upstream version.

   contrib/ssh-copy-id を最新のアップストリームのバージョンに同期する.

 * regress: improve portablility for some awk(1) usage (e.g. Solaris)

   regress: いくつかの awk(1) 利用 (例: Solaris) での移植性を改善する

 * In the contrib/redhat RPM spec file, without_openssl was previously
   incorrectly enabled unconditionally.

   contrib/redhat RPM spec ファイルで, without_openssl が
   以前は誤って無条件に有効になっていた.

 * sshd(8) restore audit call before exit that regressed in openssh-9.8
   Fixes an issue where the SSH_CONNECTION_ABANDON event was not
   recorded.

   sshd(8): openssh-9.8 で後退した exit 前の監査呼び出しを復元する.
   これにより SSH_CONNECTION_ABANDON イベントが記録されていなかった
   問題を修正する.

 * sshd(8): add support for class-imposed loging restrictions on FreeBSD.
   Allowing auth_hostok(3) and auth_timeok(3) to control logins.

   sshd(8): FreeBSD でのクラスによるログ制限のサポートを追加する.
   auth_hostok(3) と auth_timeok(3) でのログインの制御が可能になる.

 * Build fixes for Musl libc.

   Musl ライブラリのビルドの修正.

 * Fix detection of setres*id on GNU/Hurd

   GNU/Hurd での setres*id の検知の修正.

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

1 Jul, 2024 - 11 minutes

2024/07/01, OpenSSH 9.8p1 がリリースされました.

セキュリティ問題の修正が 2 つあり, 1 つは致命的なものです.

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

18 Jun, 2024 - 8 minutes

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

Call for testing: openssh-9.8

重要と思える変更点は次です.

  • 署名アルゴリズム DSA のサポートがコンパイル時にデフォルトで無効になります
  • これまでの sshd バイナリが リスナーのバイナリ sshd とセッションごとのバイナリ sshd-session に分離されます
    • 一部のログメッセージに変更があります
  • (fail2ban のようなサードパーティのソフトウェアを利用せずに) sshd に認証までの段階で攻撃が疑われるクライアントアドレスからの接続をブロックする機能が追加されます
    • 認証失敗, 認証未完了, sshd のクラッシュ など
    • デフォルトで有効になります

アップグレードには慎重な対応が求められる場合があるでしょう

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

11 Mar, 2024 - 4 minutes

2024/03/11, OpenSSH 9.7p1 がリリースされました.

バグ修正中心のリリースです. また今年中に DSA 署名のサポートが無効になりそうです.

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

5 Mar, 2024 - 4 minutes

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

Call for testing: OpenSSH 9.7

バグ修正中心のリリースとなる予定です. DSA の無効化に向けての動きがあります.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2024-March/041181.html

Future deprecation notice
=========================

将来非推奨となる機能の告知

OpenSSH plans to remove support for the DSA signature algorithm in
early 2025 and compile-time disable it later this year.

OpenSSH は 2025年前半に DSA 署名アルゴリズムに対するサポートを除き,
今年(2024)の後半にコンパイル時に無効にすることを計画している.

DSA, as specified in the SSHv2 protocol, is inherently weak - being
limited to a 160 bit private key and use of the SHA1 digest. Its
estimated security level is only 80 bits symmetric equivalent.

SSHv2 プロトコルで指定された DSA は 本質的に弱い - 秘密鍵が 160 bit
に制限されていて SHA1 ハッシュを用いている. 見積もられるセキュリティレベル
は共通鍵暗号の 80 bit しかない.

OpenSSH has disabled DSA keys by default since 2015 but has retained
run-time optional support for them. DSA was the only mandatory-to-
implement algorithm in the SSHv2 RFCs[3], mostly because alternative
algorithms were encumbered by patents when the SSHv2 protocol was
specified.

OpenSSH は 2015 年以降 DSA 鍵をデフォルトで無効にしているが, 
ランタイムでの(任意の)サポートは維持している. DSA は,
SSHv2 プロトコルが仕様化された際に代替のアルゴリズムが特許で阻まれていた
ため, SSHv2 RFC[3] 中で実装が必須の唯一のアルゴリズムだ.

This has not been the case for decades at this point and better
algorithms are well supported by all actively-maintained SSH
implementations. We do not consider the costs of maintaining DSA in
OpenSSH to be justified and hope that removing it from OpenSSH can
accelerate its wider deprecation in supporting cryptography
libraries.

現時点では何十年もこのような(特許による障害がある)場合は起こっておらず, 
すべての活発に維持されている SSH の実装でよりよいアルゴリズムが
十分にサポートされている. 我々は OpenSSH で DSA を維持するコストが
正当化されるとは考えておらず, OpenSSH から DSA を除くことが
(DSAを) サポートしている暗号ライブラリでのより広い DSA の非推奨への加速
を期待している.

This release makes DSA support in OpenSSH compile-time optional,
defaulting to on. We intend the next release to change the default
to disable DSA at compile time. The first OpenSSH release of 2025
will remove DSA support entirely.

このリリースは OpenSSH の DSA のサポートをコンパイル時に選択可能にする.
デフォルトは有効. 我々は次のリリースでコンパイル時に DSA を無効にするのを
デフォルトにする予定だ. 2025 年の 最初の OpenSSH のリリースで DSA の
サポートを完全に無効にするつもりだ.

Changes since OpenSSH 9.6
=========================

OpenSSH 9.6 からの変更点

This release contains mostly bugfixes.

このリリースは主にバグ修正を含む.

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

新機能

 * ssh(1), sshd(8): add a "global" ChannelTimeout type that watches
   all open channels and will close all open channels if there is no
   traffic on any of them for the specified interval. This is in
   addition to the existing per-channel timeouts added recently.

   ssh(1), sshd(8): すべての開いているチャンネルを監視し
   指定された間隔でそのすべてについてトラフィックがなかったりら
   すべての開いているチャンネルを閉じる "global" ChannelTimeout を
   追加する. これは最近追加された既存のチャンネルごとの timeout に
   追加される.

   This supports situations like having both session and x11
   forwarding channels open where one may be idle for an extended
   period but the other is actively used. The global timeout could
   close both channels when both have been idle for too long.

   これはセッションと X11 転送のチャンネルが開かれていて 一方は
   長い期間 idle だがもう一方は活発に使われている といった場合を
   サポートする. global な timeout は両方が長い間 idle になると
   両方を閉じる.

 * All: make DSA key support compile-time optional, defaulting to on.

   すべて: DSA 鍵のサポートをコンパイル時に選択可能とする. デフォルトは有効.

Bugfixes
--------

バグ修正

 * sshd(8): don't append an unnecessary space to the end of subsystem
   arguments (bz3667)

   sshd(8): サブシステムの引数の最後に不要な空白を追加しない (bz3667)

 * ssh(1): fix the multiplexing "channel proxy" mode, broken when
   keystroke timing obfuscation was added. (GHPR#463)

   ssh(1): 多重化する "channel proxy" モードを修正する. 
   キーストロークのタイミングの不明瞭化を追加した際に壊れていた.
   (GHPR#463)

 * ssh(1), sshd(8): fix spurious configuration parsing errors when
   options that accept array arguments are overridden (bz3657).

   ssh(1), sshd(8): 配列の引数を許容する設定項目が上書きされた場合に
   間違った設定のパースを修正する (bz3657)

 * Many fixes to manual pages and other documentation, including
   GHPR#462, GHPR#454, GHPR#442 and GHPR#441.

   GHPR#462 と GHPR#454, GHPR#442, GHPR#441 を含むマニュアルや
   他の文書の沢山の修正.

 * Greatly improve interop testing against PuTTY.

   PuTTY に対する相互運用性テストのすごい改善.

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

移植性

 * Improve the error message when the autoconf OpenSSL header check
   fails (bz#3668)

   autoconf の OpenSSL ヘッダーのチェックに失敗した場合の
   エラーメッセージを改善する (bz#3668)

 * Improve detection of broken toolchain -fzero-call-used-regs support
   (bz3645).

   こわれた toolchain の -fzero-call-used-regs サポートの検出を
   改善する (bz3645).

 * Fix regress/misc/fuzz-harness fuzzers and make them compile without
   warnings when using clang16

   regress/misc/fuzz-harness fuzzer を修正し, clang16 を利用時のコンパイルで
   警告が出ないようにする.

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

18 Dec, 2023 - 9 minutes

2023/12/18, OpenSSH 9.6p1 がリリースされました.

セキュリティ修正を含むリリースです.

https://www.openssh.com/releasenotes.html#9.6p1

https://twitter.com/sempreff/status/1737072694116647095
でご指摘頂いた誤字を修正しました (2023-12-19 20:35)

Changes since OpenSSH 9.5
=========================

OpenSSH 9.5 からの変更点

This release contains a number of security fixes, some small features
and bugfixes.

このリリースは複数のセキュリティ修正といくつかの小さな機能追加,
バグ修正を含んでいる

Security
========

セキュリティ

This release contains fixes for a newly-discovered weakness in the
SSH transport protocol, a logic error relating to constrained PKCS#11
keys in ssh-agent(1) and countermeasures for programs that invoke
ssh(1) with user or hostnames containing invalid characters.

このリリースは, SSH トランスポートプロトコルで新しく発見された弱点と
ssh-agent(1) での制限された PKCS#11 鍵に関連するロジックエラーに対する
修正と, ユーザーないしホスト名に不正な文字を含む場合に ssh(1) を起動する
プログラムに対する対抗策を含んでいる.

 * ssh(1), sshd(8): implement protocol extensions to thwart the
   so-called "Terrapin attack" discovered by Fabian Bäumer, Marcus
   Brinkmann and Jörg Schwenk. This attack allows a MITM to effect a
   limited break of the integrity of the early encrypted SSH transport
   protocol by sending extra messages prior to the commencement of
   encryption, and deleting an equal number of consecutive messages
   immediately after encryption starts. A peer SSH client/server
   would not be able to detect that messages were deleted.

   ssh(1), sshd(8): Fabian Bäumer と Marcus Brinkmann, Jörg Schwenk
   によって発見された いわゆる "Terrapin attack" を妨害する
   プロトコル拡張を実装する. この攻撃は, 暗号化の開始の前に余分な
   メッセージを送信し暗号化の開始後すぐに同数の連続したメッセージを
   削除することで初期の暗号化された SSH トランスポートプロトコルの
   完全性を限定的に破ることで MITM を可能にする. SSH
   クライアント/サーバー ピアはメッセージが削除されたことを検出できない.

   While cryptographically novel, the security impact of this attack
   is fortunately very limited as it only allows deletion of
   consecutive messages, and deleting most messages at this stage of
   the protocol prevents user user authentication from proceeding and
   results in a stuck connection.

   暗号的には目新しいものだが, この攻撃のセキュリティへの影響は,
   幸運なことに非常に限られている.
   この攻撃が可能にするのは連続したメッセージの削除のみで, プロトコルの
   この段階で多くのメッセージを削除するとユーザー認証が妨害されて
   結果として接続はスタックする.

   The most serious identified impact is that it lets a MITM to
   delete the SSH2_MSG_EXT_INFO message sent before authentication
   starts, allowing the attacker to disable a subset of the keystroke
   timing obfuscation features introduced in OpenSSH 9.5. There is no
   other discernable impact to session secrecy or session integrity.

   認識されているもっとも重大な影響は, MITM によって
   認証の開始前に送られた SSH2_MSG_EXT_INFO
   メッセージが削除されることで,
   攻撃者は OpenSSH 9.5 で導入された キーストロークのタイミングを
   不明瞭にする特徴を無効にできる.
   これはセッションの秘匿性やセッションの完全性に対してそれ以外の
   認識できる影響は及ぼさない.

   OpenSSH 9.6 addresses this protocol weakness through a new "strict
   KEX" protocol extension that will be automatically enabled when
   both the client and server support it. This extension makes
   two changes to the SSH transport protocol to improve the integrity
   of the initial key exchange.

   OpenSSH 9.6 は このプロトコルの弱点に対し, 新しい "strict KEX"
   プロトコル拡張で対処する. この拡張はクライアントとサーバー両方で
   サポートされている場合に自動的に有効になる. この拡張は
   最初の鍵交換での完全性を向上する 2 点の変更を SSH トランスポート
   プロトコルに適用する.

   Firstly, it requires endpoints to terminate the connection if any
   unnecessary or unexpected message is received during key exchange
   (including messages that were previously legal but not strictly
   required like SSH2_MSG_DEBUG). This removes most malleability from
   the early protocol.

   まず, この拡張は鍵交換中に不要なメッセージや予測されないメッセージを
   受け取った場合に接続を終了することを要求する(SSH2_MSG_DEBUG のように
   以前は正当であったが厳密には必須ではないメッセージも含む). これにより
   以前のプロトコルから多くの柔軟性を除かれる.

   Secondly, it resets the Message Authentication Code counter at the
   conclusion of each key exchange, preventing previously inserted
   messages from being able to make persistent changes to the
   sequence number across completion of a key exchange. Either of
   these changes should be sufficient to thwart the Terrapin Attack.

   次に, この拡張は 鍵交換の完了のたびにメッセージ認証コード(MAC)
   をリセットし, 以前はできた鍵交換の完了にまたがったシーケンス番号の
   永続的な変更を可能にするメッセージの挿入を防止する. これらの変更
   のどちらかがあれば Terrapin 攻撃を妨害するのに十分と考えられる.

   More details of these changes are in the PROTOCOL file in the
   OpenSSH source distribition.

   OpenSSH のソース配布の PROTOCOL ファイルにこれらの変更のより詳細な
   記述がある.

 * ssh-agent(1): when adding PKCS#11-hosted private keys while
   specifying destination constraints, if the PKCS#11 token returned
   multiple keys then only the first key had the constraints applied.
   Use of regular private keys, FIDO tokens and unconstrained keys
   are unaffected.

   ssh-agent(1): 転送先の制限を指定された PKCS#11 形式の秘密鍵を
   追加する際, PKCS#11 トークンが複数の鍵を返すと, 最初の鍵のみに
   制限が適用されていた. 通常の秘密鍵や FIDO トークン, 制限されていない
   鍵の利用には影響しない.

 * ssh(1): if an invalid user or hostname that contained shell
   metacharacters was passed to ssh(1), and a ProxyCommand,
   LocalCommand directive or "match exec" predicate referenced the
   user or hostname via %u, %h or similar expansion token, then
   an attacker who could supply arbitrary user/hostnames to ssh(1)
   could potentially perform command injection depending on what
   quoting was present in the user-supplied ssh_config(5) directive.

   ssh(1): シェルのメタ文字を含む不正なユーザー名やホスト名が ssh(1)
   や ProxyCommand, LocalCommand 設定項目, ユーザーやホスト名を %u, %h
   で参照する "match exec" 述語や同様の展開トークンに渡されると,
   任意のユーザー/ホスト名を ssh(1) に適用できる攻撃者は潜在的に
   ユーザーが提供する ssh_config(5) の設定項目にある引用を利用して
   コマンドインジェクションを実行できる.

   This situation could arise in the case of git submodules, where
   a repository could contain a submodule with shell characters in
   its user/hostname. Git does not ban shell metacharacters in user
   or host names when checking out repositories from untrusted
   sources.

   この状況は git レポジトリがそのユーザー/ホスト名にシェル文字を含む
   submodule を持つ場合に発生しうる. git は信頼していないソースから
   レポジトリをチェックアウトする際ユーザーやホスト名でのシェル
   メタ文字を禁止していない.

   Although we believe it is the user's responsibility to ensure
   validity of arguments passed to ssh(1), especially across a
   security boundary such as the git example above, OpenSSH 9.6 now
   bans most shell metacharacters from user and hostnames supplied
   via the command-line. This countermeasure is not guaranteed to be
   effective in all situations, as it is infeasible for ssh(1) to
   universally filter shell metacharacters potentially relevant to
   user-supplied commands.

   ssh(1) に渡す引数の正当性を検証するのはユーザーの責任であると
   我々は考えているが,
   (特に前出の git の例でのセキュリティ境界を越える場合などでは)
   OpenSSH 9.6ではコマンドラインから提供されるユーザー/ホスト名について
   ほとんどのシェルメタ文字を禁止する. この対抗策はすべての場合に
   ついて効果があるとは保証されない.
   ユーザーが提供するコマンドに関連しうるシェルメタ文字を例外なくフィルター
   することは ssh(1) には不可能だからだ.

   User/hostnames provided via ssh_config(5) are not subject to these
   restrictions, allowing configurations that use strange names to
   continue to be used, under the assumption that the user knows what
   they are doing in their own configuration files.

   ssh_config(5) で提供されるユーザー/ホスト名はこれらの制限の対象外で,
   ユーザーは自身の設定ファイルで行なわれていることを知っているという仮定に基づき
   設定では奇妙な名前を引き続き利用可能だ.

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

潜在的に非互換な変更

 * ssh(1), sshd(8): the RFC4254 connection/channels protocol provides
   a TCP-like window mechanism that limits the amount of data that
   can be sent without acceptance from the peer. In cases where this
   limit was exceeded by a non-conforming peer SSH implementation,
   ssh(1)/sshd(8) previously discarded the extra data. From OpenSSH
   9.6, ssh(1)/sshd(8) will now terminate the connection if a peer
   exceeds the window limit by more than a small grace factor. This
   change should have no effect of SSH implementations that follow
   the specification.

   ssh(1), sshd(8): RFC4254 接続/チャンネルプロトコルはピアからの
   受諾なしに送信できるデータ量を制限する TCP 的な window 機構を
   提供する. 不適格なピアの SSH 実装がこの制限を越える場合, 
   ssh(1)/sshd(8) はこれまで余分なデータを捨てていた. OpenSSH 9.6
   からは, ピアがすこしの慈悲の要素を越えて window の制限を越えてきたら,
   ssh(1)/sshd(8) は接続を終了する. この変更は仕様に従う SSH の実装には
   影響がないはずだ.

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

新機能

 * ssh(1): add a %j token that expands to the configured ProxyJump
   hostname (or the empty string if this option is not being used)
   that can be used in a number of ssh_config(5) keywords. bz3610

   ssh(1): ssh_config(5) のキーワードとして利用できる
   設定された ProxyJump ホスト名
   (ないしこのオプションが設定されていなければ空文字列)を展開する %j
   トークンを追加する.

 * ssh(1): add ChannelTimeout support to the client, mirroring the
   same option in the server and allowing ssh(1) to terminate
   quiescent channels.

   ssh(1): ChannelTimeout サポートをクライアントに追加する.
   サーバー側の同じオプションに対応するもので, ssh(1) が
   利用されていないチャンネルを停止できる.

 * ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): add support for
   reading ED25519 private keys in PEM PKCS8 format. Previously
   only the OpenSSH private key format was supported.

   ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): PEM PKCS8 形式の
   ED25519 秘密鍵の読み取りのサポートを追加する. 以前は 
   OpenSSH 秘密鍵形式のみをサポートしていた.

 * ssh(1), sshd(8): introduce a protocol extension to allow
   renegotiation of acceptable signature algorithms for public key
   authentication after the server has learned the username being
   used for authentication. This allows varying sshd_config(5)
   PubkeyAcceptedAlgorithms in a "Match user" block.

   ssh(1), sshd(8): サーバーが認証で使われたユーザー名を認識したあとで
   公開鍵認証で受け入れる署名のアルゴリズムを再交渉できるプロトコル
   拡張を導入する. これにより, sshd_config(5) の "Match user" ブロックで
   PubkeyAcceptedAlgorithms を可変にできる.

 * ssh-add(1), ssh-agent(1): add an agent protocol extension to allow
   specifying certificates when loading PKCS#11 keys. This allows the
   use of certificates backed by PKCS#11 private keys in all OpenSSH
   tools that support ssh-agent(1). Previously only ssh(1) supported
   this use-case.

   ssh-add(1), ssh-agent(1): PKCS#11 鍵のロードの際に証明書を指定できる
   エージェントプロトコルの拡張を追加する. ssh-agent(1) をサポートする
   すべての OpenSSH ツールで PKCS#11
   秘密鍵を使う証明書の利用を可能にする
   以前は ssh(1) のみがこのユースケースをサポートしていた.

Bugfixes
--------

バグ修正

 * ssh(1): when deciding whether to enable the keystroke timing
   obfuscation, enable it only if a channel with a TTY is active.

   ssh(1): キーストロークのタイミングの不明瞭化を有効にするかを
   決定する際に, TTY が有効なチャンネルのみで有効にする.

 * ssh(1): switch mainloop from poll(3) to ppoll(3) and mask signals
   before checking flags set in signal handler. Avoids potential
   race condition between signaling ssh to exit and polling. bz3531

   ssh(1): メインループを poll(3) から ppoll(3) に変更し, 
   シグナルハンドラーで設定されるフラグをチェックする前にシグナルを
   マスクする. ssh へのシグナルでの終了とポーリング間でありえた
   レースコンディションを避ける. bz3531
 
 * ssh(1): when connecting to a destination with both the
   AddressFamily and CanonicalizeHostname directives in use,
   the AddressFamily directive could be ignored. bz5326

   ssh(1): AddressFamily と CanonicalizeHostname 設定項目の両方が
   設定されている接続先に接続する際 AddressFamily が無視される
   bz5326(訳注: bz3526 が正しい)

 * sftp(1): correct handling of the limits@openssh.com option when
   the server returned an unexpected message.

   sftp(1): サーバーが予期せぬメッセージを返した場合の
   limits@openssh.com の扱いを修正する.

 * A number of fixes to the PuTTY and Dropbear regress/integration
   tests.

   PuTTY と Dropbear の回帰/結合テストを多数修正

 * ssh(1): release GSS OIDs only at end of authentication, avoiding
   unnecessary init/cleanup cycles. bz2982

   ssh(1): 認証の最後にのみ GSS OID を解放する.
   不要な初期化/クリーンアップサイクルを行なわないようにするため.
   bz2982

 * ssh_config(5): mention "none" is a valid argument to IdentityFile
   in the manual. bz3080

   ssh_config(5): マニュアルでの IdentityFile の正当な引数として
   "none" を記述する. bz3080

 * scp(1): improved debugging for paths from the server rejected for
   not matching the client's glob(3) pattern in old SCP/RCP protocol
   mode.

   scp(1): 古い SCP/RCP プロトコルモードでのクライアントの glob(3)
   パターンにマッチしないためにサーバーから拒否されたパスの
   デバッグを改良する.

 * ssh-agent(1): refuse signing operations on destination-constrained
   keys if a previous session-bind operation has failed. This may
   prevent a fail-open situation in future if a user uses a mismatched
   ssh(1) client and ssh-agent(1) where the client supports a key type
   that the agent does not support.

   ssh-agent(1): 以前のセッションに束縛された操作が失敗した場合,
   接続先が制限された鍵での署名操作を拒否する. 
   エージェントがサポートしていない鍵のタイプをクライアントがサポートしている
   バージョンが一致しない ssh(1) と ssh-agent(1) をユーザーが利用する場合に
   fail-open を防ぐことができる.

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

移植性

 * Better identify unsupported and unstable compiler flags, such as
   -fzero-call-used-regs which has been unstable across a several
   clang releases.

   サポートされていないかつ不安定なコンパイラのフラグを識別しやすくした.
   いくつかの clang のリリースで不安定となっている
   -fzero-call-used-regs など.

 * A number of fixes to regression test reliability and log
   collection.

   回帰テストの信頼性とログの回収での多くの修正

 * Update the OpenSSL dependency in the RPM specification.

   RPM 仕様での OpenSSL 依存性を更新する

 * sshd(8): for OpenSolaris systems that support privilege limitation
   via the getpflags() interface, prefer using the newer PRIV_XPOLICY
   to PRIV_LIMIT. bz2833

   sshd(8): OpenSolaris システムで getpflags()
   インターフェイスを利用する特権制限をサポートする.
   PRIV_LIMIT よりも より新しい PRIV_XPOLICY を利用する .

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

4 Oct, 2023 - 4 minutes

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

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

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

10 Aug, 2023 - 5 minutes

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

バグ修正中心のリリースです.


https://www.openssh.com/releasenotes.html#9.4p1

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
   vendors.

   このリリースは 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
   name.

   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% 増やす.

Bugfixes
--------

バグ修正

 * ssh-agent(1): improve isolation between loaded PKCS#11 modules
   by running separate 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(1): make ConnectTimeout apply to multiplexing sockets and not
   just to network connections.

   ssh(1): ConnectTimeout を ネットワーク接続にではなく
   多重化されたソケットへ適用させる.

 * 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 ツールは
   KRL ファイルの KRL_SECTION_SIGNATURE 節を無視する.

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

   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" に
   設定されている場合, ホスト名の正規化を誤って無効にしないようにする.
   bz3567

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

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

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

移植性

 * 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 sk-dummy.so FIDO provider module
   used in some tests.

   テスト: いくつかのテストで用いられる sk-dummy.so FIDO プロバイダ
   のビルドの問題を修正する.

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

31 Jul, 2023 - 5 minutes

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

Call for testing: OpenSSH 9.4

https://lists.mindrot.org/pipermail/openssh-unix-dev/2023-July/040872.html

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
   vendors.

   このリリースは 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
   name.

   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% 増やす.

Bugfixes
--------

バグ修正

 * 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 ツールは
   KRL ファイルの KRL_SECTION_SIGNATURE 節を無視する.

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

   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" に
   設定されている場合, ホスト名の正規化を誤って無効にしないようにする.
   bz3567

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

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

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

移植性

 * 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 sk-dummy.so FIDO provider module
   used in some tests.

   テスト: いくつかのテストで用いられる sk-dummy.so FIDO プロバイダ
   のビルドの問題を修正する.

OpenSSH 9.3p2 がリリースされました

19 Jul, 2023 - 2 minutes

2023/07/19, OpenSSH 9.3p2 がリリースされました.

セキュリティバグの修正のリリースです.

# https://www.openssh.com/releasenotes.html#9.3p2

Changes since OpenSSH 9.3
=========================

OpenSSH 9.3 からの変更点

This release fixes a security bug.

このリリースはセキュリティのバグを修正する.

Security
========

セキュリティ

Fix CVE-2023-38408 - a condition where specific libaries loaded via
ssh-agent(1)'s PKCS#11 support could be abused to achieve remote
code execution via a forwarded agent socket if the following
conditions are met:

CVE-2023-38408 - ssh-agent(1) の PKCS#11 サポートによって
ロードされる特定のライブラリが, 次の場合に, 転送された
エージェントのソケットを介してリモートでのコード実行するのに
悪用される可能性がある状況を修正する.

* Exploitation requires the presence of specific libraries on
  the victim system.
* Remote exploitation requires that the agent was forwarded
  to an attacker-controlled system.

* 悪用には被害を受けるシステム上に特定のライブラリが必要
* リモートでの悪用には, 攻撃者が管理するシステムへのエージェントの
  転送が必要

Exploitation can also be prevented by starting ssh-agent(1) with an
empty PKCS#11/FIDO allowlist (ssh-agent -P '') or by configuring
an allowlist that contains only specific provider libraries.

悪用は, ssh-agent(1) を 空の PKCS#11/FIDO 許可リスト (ssh-agent -P '')
で起動したり, 特定のプロバイダのライブラリのみを含む許可リストを設定
することでも防げる.

This vulnerability was discovered and demonstrated to be exploitable
by the Qualys Security Advisory team. 

この脆弱性は Qualys Security Advisory team によって発見され,
悪用可能なことが示された.
 
In addition to removing the main precondition for exploitation,
this release removes the ability for remote ssh-agent(1) clients
to load PKCS#11 modules by default (see below).

悪用の主要な事前条件を除くのに加えて, このリリースは
リモートの ssh-agent(1) のクライアントが PKCS#11リモートモジュールを
ロードする機能をデフォルトで無効にする (次を参照).

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

潜在的に非互換な変更

 * ssh-agent(8): the agent will now refuse requests to load PKCS#11
   modules issued by remote clients by default. A flag has been added
   to restore the previous behaviour "-Oallow-remote-pkcs11".

   ssh-agent(8): エージェントはデフォルトでリモートのクライアントから
   発行された PKCS#11 モジュールのロードの要求を拒否する.
   以前の動作を回復するための "-Oallow-remote-pkcs11" フラグが
   追加される.

   Note that ssh-agent(8) depends on the SSH client to identify
   requests that are remote. The OpenSSH >=8.9 ssh(1) client does
   this, but forwarding access to an agent socket using other tools
   may circumvent this restriction.

   ssh-agent(8) はリモートからの要求を識別するのに SSH クライアントに
   依存していることに注意. OpenSSH >= 8.9 の ssh(1) クライアントは
   これを行なうが, 他のツールを用いたエージェントソケットへの転送アクセス
   はこの制限を回避するかもしれない.

OpenSSH 9.3 がリリースされました

15 Mar, 2023 - 4 minutes

2023/03/15, OpenSSH 9.3 がリリースされました.

セキュリティバグの修正のあるリリースです. ただし影響は限定的に見えます.

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

10 Mar, 2023 - 2 minutes

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

Call for testing: OpenSSH 9.3

いまのところは大きな変化がないリリースとなりそうです.

# 暫定版: https://lists.mindrot.org/pipermail/openssh-unix-dev/2023-March/040628.html

Changes since OpenSSH 9.2
=========================

OpenSSH 9.2 からの変更点

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

新機能

 * ssh-keygen(1), ssh-keyscan(1): accept -Ohashalg=sha1|sha256 when
   outputting SSHFP fingerprints to allow algorithm selection. bz3493

   ssh-keygen(1), ssh-keyscan(1): アルゴリズムの選択を許すため
   SSHFP 指紋の出力時に -Ohashalg で sha1 か sha256 を許可する. bz3493
   (デフォルトでは両方出力される)
    
 * sshd(8): add a `sshd -G` option that parses and prints the
   effective configuration without attempting to load private keys
   and perform other checks. This allows usage of the option before
   keys have been generated and for configuration evaluation and
   verification by unprivileged users.

   sshd(8): `sshd -G` オプションを追加する. これは, 秘密鍵のロードや
   他のチェックの実行なしで有効な設定をパースし出力する.
   鍵が生成される前や, 設定の評価, 非特権ユーザによる検証に
   このオプションは利用できる.

Bugfixes
--------

バグ修正

 * scp(1), sftp(1): fix progressmeter corruption on wide displays;
   bz3534

   scp(1), sftp(1): 広いディスプレイでのプログレスメーターの問題を修正
   bz3534

 * ssh-add(1), ssh-keygen(1): use RSA/SHA256 when testing usability
   of private keys as some systems are starting to disable RSA/SHA1
   in libcrypto.

   ssh-add(1), ssh-keygen(1): 一部のシステムで libcrypto の RSA/SHA1
   が無効化され始めているので, 秘密鍵の利用可能性のテストに
   RSA/SHA256 を利用する.

 * sftp-server(8): fix a memory leak. GHPR363

   sftp-server(8): メモリリークを修正する. GHPR363

 * ssh(1), sshd(8), ssh-keyscan(1): remove vestigal protocol
   compatibility code and simplify what's left.

   ssh(1), sshd(8), ssh-keyscan(1): 名残りで残っていたプロトコル
   互換性コードを除去し, 残ったものを単純化する.

 * Fix a number of low-impact Coverity static analysis findings.
   
   Coverity 静的解析探索で見付かった低インパクトの問題を
   いくつか修正する.

 * ssh_config(5), sshd_config(5): mention that some options are not
   first-match-wins.

   ssh_config(5), sshd_config(5): 一部のオプションは最初にマッチしたものが
   使われるわけではないことを言及する.

 * Rework logging for the regression tests. Regression tests will now
   capture separate logs for each ssh and sshd invocation in a test.

   再帰テストのログを再度動くようにする. 再帰テストは今やテストでの
   それぞれの ssh と sshd の工藤で別々のログを捕捉するようになる.

 * ssh(1): make `ssh -Q CASignatureAlgorithms` work as the manpage
   says it should; bz3532.

   ssh(1): `ssh -Q CASignatureAlgorithms` を man にあるように動くように
   する; bz3532

 * ssh(1): ensure that there is a terminating newline when adding a
   new entry to known_hosts; bz3529

   ssh(1): known_hosts に新しいエントリを追加する際, 終端の改行がある
   のを保証する; bz3529

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

移植性

 * sshd(8): harden Linux seccomp sandbox. Move to an allowlist of
   mmap(2), madvise(2) and futex(2) flags, removing some concerning
   kernel attack surface.

   sshd(8): Linux の seccomp サンドボックスを教科する. 
   mmap(2) と madvise(2), futex(2) フラグの許可リストへ移動し,
   いくつかの関連するカーネル攻撃の対象を除去する.

 * sshd(8): improve Linux seccomp-bpf sandbox for older systems;
   bz3537

   sshd(8): 古いシステムに対する seccomp-bpf サンドボックスを
   改善する; bz3537

OpenSSH 9.2 がリリースされました

3 Feb, 2023 - 8 minutes

2023/02/02, OpenSSH 9.2 がリリースされました.

バグ修正中心のリリースです. おそらく悪用できないと思われるメモリ安全に関する問題が 3 件修正されています.

OpenSSH 9.1 がリリースされました

4 Oct, 2022 - 9 minutes

2022/10/04, OpenSSH 9.1 がリリースされました.

バグ修正中心のリリースです. おそらく悪用できないと思われるメモリ安全に関する問題が 3 件修正されています.

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

28 Sep, 2022 - 8 minutes

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

Call for testing: openssh-9.1

バグ修正のリリースです.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2022-September/040428.html

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

潜在的に非互換の変更

 * The portable OpenSSH project now signs commits and release tags
   using git's recent SSH signature support. The list of developer
   signing keys is included in the repository as .git_allowed_signers
   and is cross-signed using the PGP key that is still used to sign
   release artifacts:
   https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/RELEASE_KEY.asc

   移植版 OpenSSH プロジェクトは, git の最近の SSH 署名サポートを
   用いて 今後 commit と release tag に署名する. 開発者の署名鍵の
   リストは レポジトリに .git_allowed_signers として含まれ, 
   リリース に署名するのにまだ用いられている PGP 鍵を用いて
   クロス署名されている:
   https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/RELEASE_KEY.asc

 * ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config
   are now first-match-wins to match other directives. Previously
   if an environment variable was multiply specified the last set
   value would have been used. bz3438

   ssh(1), sshd(8): ssh_config と sshd_config 中の SetEnv 設定項目
   は今後他の設定項目に一致するよう最初の一致が勝つようになる.
   以前は複数設定された環境変数は最後に設定された値が用いられていた.
   bz3438

 * ssh-keygen(8): ssh-keygen -A (generate all default host key types)
   will no longer generate DSA keys, as these are insecure and have
   not been used by default for some years.

   ssh-keygen(8): ssh-keygen -A (すべてのデフォルトホスト鍵のタイプを生成する)
   は DSA 鍵を生成しなくなっている. これは安全ではなく数年にわたりデフォルトでは
   利用されなくなっている.

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

新機能

 * ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum
   RSA key length. Keys below this length will be ignored for user
   authentication and for host authentication in sshd(8). 

   ssh(1), sshd(8): 最小の RSA 鍵長を設定する RequiredRSASize 設定項目
   を追加する. この長さを下回る鍵は sshd(8) のユーザー認証とホスト認証で
   無視される.

   ssh(1) will terminate a connection if the server offers an RSA key
   that falls below this limit, as the SSH protocol does not include
   the ability to retry a failed key exchange.

   ssh(1) は, この制限を下回る RSA 鍵がサーバから提供された場合,
   接続を切断する. SSH プロトコルは失敗した鍵交換をリトライする
   機能を含んでいない.

 * sftp-server(8): add a "users-groups-by-id@openssh.com" extension
   request that allows the client to obtain user/group names that
   correspond to a set of uids/gids.

   sftp-server(8): クライアントが uid/gid の集合に関連する
   user/group 名を得ることができる "users-groups-by-id@openssh.com" 
   拡張リクエストを追加する.

 * sftp(1): use "users-groups-by-id@openssh.com" sftp-server
   extension (when available) to fill in user/group names for
   directory listings.

   sftp(1): "users-groups-by-id@openssh.com" sftp-server 拡張
   (が利用できる場合) を用いてディレクトリの列挙に user/group 名を
   埋める.

 * sftp-server(8): support the "home-directory" extension request
   defined in draft-ietf-secsh-filexfer-extensions-00. This overlaps
   a bit with the existing "expand-path@openssh.com", but some other
   clients support it.

   sftp-server(8): draft-ietf-secsh-filexfer-extensions-00 で定義された
   "home-directory" 拡張リクエストをサポートする. これは, 既存の,
   他のいくつかのクライアントがサポートしている
   "expand-path@openssh.com" をちょっと上書きするが, 

 * ssh-keygen(1), sshd(8): allow certificate validity intervals,
   sshsig verification times and authorized_keys expiry-time options
   to accept dates in the UTC time zone in addition to the default
   of interpreting them in the system time zone. YYYYMMDD and
   YYMMDDHHMM[SS] dates/times will be interpreted as UTC if suffixed
   with a 'Z' character.

   ssh-keygen(1), sshd(8): 証明書の正当性期間と sshsig 検証の時間,
   authorized_keys の期限オプションで デフォルトのシステムのタイムゾーンでの
   解釈される日付に加えて UTC タイムゾーンでの日付を受け付けるようにする
   'Z' の文字が後置されていると YYYYMMDD と YYMMDDHHMM[SS]
   の日付/時間が UTC として解釈される.

   Also allow certificate validity intervals to be specified in raw
   seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This
   is intended for use by regress tests and other tools that call
   ssh-keygen as part of a CA workflow. bz3468

   また, 証明書の正当性期間で 16 進数の値, 例えば -V 0x1234:0x4567890,
   で生の seconds-since-epoch を指定できるようになる. 
   これは CA ワークフローの一部として ssh-keygen を呼ぶ回帰テストや
   その他のツールでの利用を意図している. bz3468

 * sftp(1): allow arguments to the sftp -D option, e.g. sftp -D
   "/usr/libexec/sftp-server -el debug3"

   sftp(1): sftp -D オプションに引数を許可する, 例えば 
   sfpt -D "/usr/libexec/sftp-server -el debug3".

 * ssh-keygen(1): allow the existing -U (use agent) flag to work
   with "-Y sign" operations, where it will be interpreted to require
   that the private keys is hosted in an agent; bz3429

   ssh-keygen(1): 既存の -U (use agent) オプションが "-Y sign" 操作と共に
   動作するようになる. エージェントに配置された秘密鍵を必要とすると解釈される.

Bugfixes
--------

バグ修正

 * ssh-keygen(1): implement the "verify-required" certificate option.
   This was already documented when support for user-verified FIDO
   keys was added, but the ssh-keygen(1) code was missing.

   ssh-keygen(1): "verify-required" 証明書オプションを実装する.
   これはすでに user-verified な FIDO 鍵の追加のサポートの際に
   文書化されていたが, ssh-keygen(1) のコードはなかった.

 * ssh-agent(1): hook up the restrict_websafe command-line flag;
   previously the flag was accepted but never actually used.

   ssh-agent(1): restrict_websafe コマンドラインオプンを有効にする;
   以前はオプションは受け付けていたが実際に利用されていなかった.

 * sftp(1): improve filename tab completions: never try to complete
   names to non-existent commands, and better match the completion
   type (local or remote filename) against the argument position
   being completed.

   ファイル名のタブ補完を改良する: 存在しないコマンドに対して名前の
   補完を試みないようになり, 補完される引数の位置に対して補完のタイプ
   (ローカルないしリモートのファイル名)によりよく一致するようになる.

 * ssh-keygen(1), ssh(1), ssh-agent(1): several fixes to FIDO key
   handling, especially relating to keys that request
   user-verification. These should reduce the number of unnecessary
   PIN prompts for keys that support intrinsic user verification.
   GHPR302, GHPR329

   ssh-keygen(1), ssh(1), ssh-agent(1): FIDO 鍵の扱いにいくつかの修正をする.
   特に user-verification を要求する鍵に関して.
   固有のユーザ検証をサポートする鍵に対する必要のない PIN prompt の数が
   減るはずだ.
   GHPR302, GHPR329

 * ssh-keygen(1): when enrolling a FIDO resident key, check if a
   credential with matching application and user ID strings already
   exists and, if so, prompt the user for confirmation before
   overwriting the credential. GHPR329

   ssh-keygen(1): FIDO resident 鍵を登録する際, 一致するアプリケーションの
   証明書とユーザ ID 文字列がすでに存在するかを検査し, 存在する場合
   証明書を上書きする前にユーザに確認の prompt を出す. GHPR329

 * sshd(8): improve logging of errors when opening authorized_keys
   files. bz2042

   sshd(8): authorized_keys ファイルを開く際のエラーのログを改善する.
   bz2042

 * ssh(1): avoid multiplexing operations that could cause SIGPIPE from
   causing the client to exit early. bz3454

   ssh(1):クライアントの早期終了を引き起こす SIGPIPE が発生する可能性のある
   多重化操作を咲ける. bz3454

 * ssh_config(5), sshd_config(5): clarify that the RekeyLimit
   directive applies to both transmitted and received data. GHPR328

   ssh_config(5), sshd_config(5): RekeyLimit 設定項目が
   転送されるデータと受信するデータの両方に適用されることを明確にする.
   GHPR328

 * ssh-keygen(1): avoid double fclose() in error path.

   ssh-keygen(1): エラーの場合に二重に fclose() していたのをやめる.

 * sshd(8): log an error if pipe() fails while accepting a
   connection. bz3447

   sshd(8): 接続を受け付ける際の pipe() の失敗をエラーとしてログする.
   bz3447

 * ssh(1), ssh-keygen(1): fix possible NULL deref when built without
   FIDO support. bz3443

   ssh(1), ssh-keygen(1): FIDO サポートなしでビルドした場合の
   NULL 逆参照の可能性を修正する. bz3443

 * ssh-keyscan(1): add missing *-sk types to ssh-keyscan manpage.
   GHPR294.

   ssh-keyscan(1): ssh-keyscan の man ページに欠けていた *-sk タイプ
   を追加する. GHPR294

 * sshd(8): ensure that authentication passwords are cleared from
   memory in error paths. GHPR286

   sshd(8): エラーの場合にメモリから認証パスワードを消すことを保証する.
   GHPR286

 * ssh(1), ssh-agent(1): avoid possibility of notifier code executing
   kill(-1). GHPR286

   ssh(1), ssh-agent(1): 通知コードが kill(-1) を実行する可能性をなくす.
   GHPR286

 * ssh_config(5): note that the ProxyJump directive also accepts the
   same tokens as ProxyCommand. GHPR305.

   ssh_config(5): ProxyJump 設定項目が ProxyCommand のように
   同じトークンを受け付けることを明記する. GHPR305.

 * scp(1): do not not ftruncate(3) files early when in sftp mode. The
   previous behaviour of unconditionally truncating the destination
   file would cause "scp ~/foo localhost:foo" and the reverse
   "scp localhost:foo ~/foo" to delete all the contents of their
   destination. bz3431

   scp(1): sftp モードの場合にファイルを早期に ftruncate(3) しないようにする.
   送信先のファイルを絶対に truncate する以前の振舞いでは, "scp ~/foo localhost:foo"
   と逆の "scp localhost:foo ~/foo" を実行すると送信先のすべての内容を削除してしまう.
   bz3431

 * ssh-keygen(1): improve error message when 'ssh-keygen -Y sign' is
   unable to load a private key; bz3429

   ssh-keygen(1): 'ssh-keygen -Y sign' が秘密鍵のロードをできなかった
   場合のエラーメッセージを改善する; bz3429

 * sftp(1), scp(1): when performing operations that glob(3) a remote
   path, ensure that the implicit working directory used to construct
   that path escapes glob(3) characters. This prevents glob characters
   from being processed in places they shouldn't, e.g. "cd /tmp/a*/",
   "get *.txt" should have the get operation treat the path "/tmp/a*"
   literally and not attempt to expand it.

   sftp(1), scp(1): リモートパスに対して glob(3) する操作を実行する際,
   暗黙の作業ディレクトリが glob(3) の文字をエスケープしたパスで
   構築されていることを保証する. これは glob の文字が 適用されるべきではない
   位置で処理されるのを防ぐ. 例えば "cd /tmp/a*/", "get *.txt" では
   get 操作は 文字通り パス "/tmp/a*" を扱い, 展開されてはならない.

 * ssh(1), sshd(8): be stricter in which characters will be accepted
   in specifying a mask length; allow only 0-9. GHPR278

   ssh(1), sshd(8): mask 長を指定する際に受け付ける文字を厳格にする;
   0-9 のみが有効. GHPR278

 * ssh-keygen(1): avoid printing hash algorithm twice when dumping a
   KRL

   ssh-keygen(1): KRL をダンプする際ハッシュアルゴリズムを
   2回表示するのを避ける.

 * ssh(1), sshd(8): continue running local I/O for open channels
   during SSH transport rekeying. This should make ~-escapes work in
   the client (e.g. to exit) if the connection happened to have
   stalled during a rekey event.

   ssh(1), sshd(8): SSH トランスポートの rekey 中に開いているチャンネルの
   ローカル I/O を継続する. 接続が rekey イベント中にストールした場合に
   クライアントでの ~~エスケープ (例えば 終了) が動作するようになる.

 * ssh(1), sshd(8): avoid potential poll() spin during rekeying

   ssh(1), sshd(8): rekey 中に可能性のある poll() spin を避ける

 * Further hardening for sshbuf internals: disallow "reparenting" a
   hierarchical sshbuf and zero the entire buffer if reallocation
   fails. GHPR287

   sshbuf 内部をより強固にする. 階層的な sshbuf の "reparenting" を
   無効にし, 再配置に失敗した場合バッファ全体をゼロで埋める.
   GHPR287

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

移植性

 * ssh(1), ssh-keygen(1), sshd(8): automatically enable the built-in
   FIDO security key support if libfido2 is found and usable, unless
   --without-security-key-builtin was requested.

   ssh(1), ssh-keygen(1), sshd(8): --without-security-key-builtin が
   要求されていなければ, libfido2 が発見され利用可能ならば
   自動的に組込みの FIDO セキュリティ鍵サポートが有効化される.

 * ssh(1), ssh-keygen(1), sshd(8): many fixes to make the WinHello
   FIDO device usable on Cygwin. The windows://hello FIDO device will
   be automatically used by default on this platform unless requested
   otherwise, or when probing resident FIDO credentials (an operation
   not currently supported by WinHello).

   ssh(1), ssh-keygen(1), sshd(8): Cygwin 上の WinHello FIDO デバイス
   を利用可能にする. windows://hello FIDO デバイスは, 他のものが要求
   されていないか, (WinHello によって現在サポートされていない操作の)
   resident FIDO credentials が探査されていない場合, Cygwin では
   自動的に利用される.

 * Portable OpenSSH: remove workarounds for obsolete and unsupported
   versions of OpenSSL libcrypto. In particular, this release removes
   fallback support for OpenSSL that lacks AES-CTR or AES-GCM.

   移植版 OpenSSH: OpenSSL libcrypto のすたれてサポートされていないバージョン向けの
   緩和策を除く. 特に AES-CTR と AES-GCM を欠いている OpenSSL の代替
   サポートをこのリリースでは除いている.

   Those AES cipher modes were added to OpenSSL prior to the minimum
   version currently supported by OpenSSH, so this is not expected to
   impact any currently supported configurations.

   それらの AES 暗号モードは, OpenSSH が現在サポートしている最低バージョンより
   前に OpenSSL に追加されており, 現在のサポートされている構成にはなにも影響しないと
   期待される.

 * sshd(8): fix SANDBOX_SECCOMP_FILTER_DEBUG on current Linux/glibc

   sshd(8): 現在の Linux/glibc 上での SANDBOX_SECCOMP_FILTER_DEBUG を修正する

 * All: resync and clean up internal CSPRNG code.

   全て: 内部の CSPRNG コードを再同期し整理する.

 * scp(1), sftp(1), sftp-server(8): avoid linking these programs with
   unnecessary libraries. They are no longer linked against libz and
   libcrypto. This may be of benefit to space constrained systems
   using any of those components in isolation.

   scp(1), sftp(1), sftp-server(8): 不要なライブラリをこれらのプログラムに
   リンクしないようにする. libz と libcrypto に対してもはやリンクされない.
   容量が限られたシステムでこれらのプログラムが独立に用いられる場合に
   利益があるだろう.

 * sshd(8): add AUDIT_ARCH_PPC to supported seccomp sandbox
   architectures.

   sshd(8): サポートする seccomp sandbox アーキテクチャーに
   AUDIT_ARCH_PPC を追加する.

 * configure: remove special casing of crypt(). configure will no
   longer search for crypt() in libcrypto, as it was removed from
   there years ago. configure will not only search libc and libcrypt.

   configure: crypt() の特別な場合を削除する. configure は
   libcrypto 内の crypt() をもはや検索していない. 数年前に削除されている.
   configure は libc と libcrypt だけを検索するのではない.

 * configure: refuse to use OpenSSL 3.0.4 due to potential RCE in its
   RSA implementation (CVE-2022-2274) on x86_64.

   configure:  x86_64 での RSA 実装の RCE の可能性 (CVE-2022-2274) のため
   OpenSSL 3.0.4 の利用を拒否する.

 * All: request 1.1x API compatibility for OpenSSL >=3.x; GHPR#322

   全て: OpenSSL >=3.x に対して 1.1x API 互換性を要求する; GHPR#322

 * ssh(1), ssh-keygen(1), sshd(8): fix a number of missing includes
   required by the XMSS code on some platforms.

   ssh(1), ssh-keygen(1), sshd(8): いくつかのプラットフォームで
   XMSS コードで必要とされる多数の欠けていた include を修正する.

 * sshd(8): cache timezone data in capsicum sandbox.

   sshd(8): capsicum sandbox でタイムゾーンのデータをキャッシュする.

OpenSSH 9.0 がリリースされました

8 Apr, 2022 - 5 minutes

2022/04/08, OpenSSH 9.0 がリリースされました.

scp で sftp プロトコルがデフォルトで利用されるようになりました.

OpenSSH 8.9 がリリースされました

23 Feb, 2022 - 10 minutes

2022/02/23, OpenSSH 8.9 がリリースされました.

ssh-agent に鍵を追加する際に転送の制限を可能にする SSH agent restriction が入ります.

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

10 Feb, 2022 - 9 minutes

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

Call for testing: OpenSSH 8.9

ssh-agent に鍵を追加する際に転送の制限を可能にする SSH agent restriction が入ります.

Future deprecation notice
=========================

将来廃止される機能の告知

A near-future release of OpenSSH will switch scp(1) from using the
legacy scp/rcp protocol to using SFTP by default.

OpenSSH の近い将来のリリースで scp(1) を伝統的な scp/rcp プロトコルの利用から
デフォルトで SFTP の利用に変更する.

Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.

伝統的な scp/rcp はリモートのファイル名の展開 (例えば scp host:* .*) を
リモートのシェルを通して行なう. これは, scp(1) のコマンドラインに含まれる
ファイル名のシェルメタ文字のダブルクオートを必要とする副作用があり, 一方で
それらはリモートサイドのシェルコマンドとして解釈される可能性がある.

This creates one area of potential incompatibility: scp(1) when using
the SFTP protocol no longer requires this finicky and brittle quoting,
and attempts to use it may cause transfers to fail. We consider the
removal of the need for double-quoting shell characters in file names
to be a benefit and do not intend to introduce bug-compatibility for
legacy scp/rcp in scp(1) when using the SFTP protocol.

これは, 潜在的な非互換性の領域を作成する: SFTP プロトコルを用いる scp(1) は
このような気難しく不安定なクオートを必要せず, 利用しようとすると転送に失敗する
ことがある. ファイル名でのシェル文字のダブルクオートの必要の除去は利益となり
SFTP プロトコルの利用時に scp(1) の伝統的な scp/rcp のバグのある互換性を
導入しないことを我々は考慮した.

Another area of potential incompatibility relates to the use of remote
paths relative to other user's home directories, for example -
"scp host:~user/file /tmp". The SFTP protocol has no native way to
expand a ~user path. However, sftp-server(8) in OpenSSH 8.7 and later
support a protocol extension "expand-path@openssh.com" to support
this.

潜在的な非互換性の他の領域は, 他のユーザのホームディレクトリの相対リモートパス,
例えば, "scp host:~user/file /tmp" に関連する. SFTP プロトコルは, ~user パスの
展開をネイティブに行なう方法を持たない. しかし, OpenSSH 8.7 以降の sftp-server(8)
は,  これをサポートする "expand-path@openssh.com" プロトコル拡張で
サポートする.

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

潜在的に非互換な変更

 * sshd(8), portable OpenSSH only: this release removes in-built
   support for MD5-hashed passwords. If you require these on your
   system then we recommend linking against libxcrypt or similar.

   sshd(8), 移植版 OpenSSH のみ: このリリースで MD5 ハッシュされた
   パスワードの組込みサポートを除く. システムで必要ならば,
   libxcrypt や同様なものをリンクするのを推奨する.

 * This release modifies the FIDO security key middleware interface
   and increments SSH_SK_VERSION_MAJOR.

   このリリースは, FIDO セキュリティキーミドルウェアを変更し,
   SSH_SK_VERSION_MAJOR を増加する.

Changes since OpenSSH 8.8
=========================

OpenSSH 8.8 からの変更点

This release includes a number of new features.

このリリースはいくつかの新機能を含んでいる.

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

新機能

 * ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
   restricting forwarding and use of keys added to ssh-agent(1)
   A detailed description of the feature is available at
   https://www.openssh.com/agent-restrict.html and the protocol
   extensions are documented in the PROTOCOL and PROTOCOL.agent
   files in the source release.

   ssh(1), sshd(8), ssh-add(1), ssh-agent(1): ssh-agent(1) に追加
   される鍵の転送と利用を制限するシステムを追加する. この昨日の
   詳細な記述は https://www.openssh.com/agent-restrict.html で
   利用可能で, プロトコル拡張は ソースリリース中の
   PROTOCOL と PROTOCOL.agent ファイルに記述される.

 * ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
   ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the
   default KEXAlgorithms list (after the ECDH methods but before the
   prime-group DH ones).

   ssh(1), sshd(8): sntrup761x25519-sha512@openssh.com ハイブリッド
   ECDH/x25519 + Streamlined NTRU Prime post-quantum 鍵交換を
   デフォルトの KEXAlgorithms リストに (EDCH 法の後で素数群 DH
   のものの前) に追加する.

 * ssh-keygen(1): when downloading resident keys from a FIDO token,
   pass back the user ID that was used when the key was created and
   append it to the filename the key is written to (if it is not the
   default). Avoids keys being clobbered if the user created multiple
   resident keys with the same application string but different user
   IDs.

   ssh-keygen(1): FIDO トークンから resident key をダウンロードする際,
   鍵が作成された時に利用されたユーザ ID を渡し, 鍵が書き込まれるファイル名に
   追記する (もしそれがデフォルトでないなら). ユーザーが複数の resident
   鍵を同じアプリケーション文字列だが異なるユーザ ID で作成した場合に
   鍵を破壊するのを防ぐ.

 * ssh-keygen(1), ssh(1), ssh-agent(1): better handling for FIDO keys
   on tokens that provide user verification (UV) on the device itself,
   including biometric keys, avoiding unnecessary PIN prompts.

 * ssh-keygen(1), ssh(1), ssh-agent(1): 不必要な PIN の入力を避けるために
   生体キーを含むデバイス自身でユーザ検証 (UV) を提供するトークン上の
   FIDO 鍵をよりよく扱う.

 * ssh-keygen(1): add "ssh-keygen -Y match-principals" operation to
   perform matching of principals names against an allowed signers
   file. To be used towards a TOFU model for SSH signatures in git.

   ssh-keygen(1): "ssh-keygen -Y match-principals" 操作を追加する.
   許可された署名者に対し principals 名でのマッチを実行する.
   git での SSH 署名の TOFU モデルに対して利用される.

 * ssh-add(1), ssh-agent(1): allow pin-required FIDO keys to be added
   to ssh-agent(1). $SSH_ASKPASS will be used to request the PIN at
   authentication time.

   ssh-add(1), ssh-agent(1): PIN が必要な FIDO 鍵を ssh-agent(1) に
   追加できるようにする. $SSH_ASKPASS が認証時の PIN を要求するのに
   用いられる.

 * ssh-keygen(1): allow selection of hash at sshsig signing time
   (either sha512 (default) or sha256).

   ssh-keygen(1): sshsig の署名時にハッシュを選択できる
   (sha512 (デフォルト) か sha256).

 * ssh(1), sshd(8): read network data directly to the packet input
   buffer instead indirectly via a small stack buffer. Provides a
   modest performance improvement.

   ssh(1), sshd(8): 小さなスタックバッファから非直接にではなく,
   パケット入力バッファから直接ネットワークデータを読み込む.
   ちょっとしたパフォーマンスの向上を提供する.

 * ssh(1), sshd(8): read data directly to the channel input buffer,
   providing a similar modest performance improvement.

   ssh(1), sshd(8): チャンネル入力バッファから直接データを読み込む.
   同様にちょっとしたパフォーマンスの向上を提供する.

 * ssh(1): extend the PubkeyAuthentication configuration directive to
   accept yes|no|unbound|host-bound to allow control over one of the
   protocol extensions used to implement agent-restricted keys.

   ssh(1): PubkeyAuthentication 設定項目を拡張し, yes|no|unbound|host-bound
   を受けとるようになる. agent に制限された鍵を実装するのに用いられる
   プロトコル拡張のうちの 1 つを指定して制御できるようになる.

Bugfixes
--------

バグ修正

 * sshd(8): document that CASignatureAlgorithms, ExposeAuthInfo and
   PubkeyAuthOptions can be used in a Match block. PR#277.

   sshd(8): CASignatureAlgorithms と ExposeAuthInfo, PubkeyAuthOptions が
   Match ブロック内で利用できることを文書化. PR#277.

 * ssh-keysign(1): unbreak for KEX algorithms that use SHA384/512
   exchange hashes

   ssh-keysign(1): SHA384/512 交換ハッシュを用いる鍵交換アルゴリズムを
   について修正する.

 * ssh(1): don't put the TTY into raw mode when SessionType=none,
   avoids ^C being unable to kill such a session. bz3360

   ssh(1): SessionType=none の場合に raw モードに TTY が入らないようにし,
   そのようなセッションを ^C で kill できないのを防ぐ. bz3360

 * scp(1): fix some corner-case bugs in SFTP-mode handling of
   ~-prefixed paths.

   scp(1): SFTP モードでの ~ が先頭のパスの扱いのいくつかの
   コーナーケースのバグを修正する.

 * ssh(1): unbreak hostbased auth using RSA keys. Allow ssh(1) to
   select RSA keys when only RSA/SHA2 signature algorithms are
   configured (this is the default case). Previously RSA keys were
   not being considered in the default case.

   ssh(1): RSA 鍵を用いるホストベース認証を直す. ssh(1) で
   RSA/SHA2 署名アルゴリズムのみが設定された場合に (これがデフォルトの場合)
   RSA 鍵を選択できるようにする. 以前は RSA 鍵はデフォルトの場合に
   考慮されていなかった.

 * ssh-keysign(1): make ssh-keysign use the requested signature
   algorithm and not the default for the key type. Part of unbreaking
   hostbased auth for RSA/SHA2 keys.

   ssh-keysign(1): ssh-keysign が要求された署名アルゴリズムを用い,
   鍵タイプのデフォルトを用いないようにする. RSA/SHA2 鍵に対する
   ホストベース認証の修正の一部.

 * ssh(1): stricter UpdateHostkey signature verification logic on
   the client- side. Require RSA/SHA2 signatures for RSA hostkeys
   except when RSA/SHA1 was explicitly negotiated during initial
   KEX; bz3375

   ssh(1): クライアント側での UpdateHostkey 署名検証の論理を
   より厳密にする. RSA/SHA1 が最初の鍵交換で明示的に交渉された場合
   を除き, RSA ホスト鍵には RSA/SHA2 署名を必要とする. bz3375

 * ssh(1), sshd(8): fix signature algorithm selection logic for
   UpdateHostkeys on the server side. The previous code tried to
   prefer RSA/SHA2 for hostkey proofs of RSA keys, but missed some
   cases. This will use RSA/SHA2 signatures for RSA keys if the
   client proposed these algorithms in initial KEX. bz3375

   ssh(1), sshd(8): サーバ側での UpdateHostkeys の署名アルゴリズム
   選択の論理を修正する. 以前のコードは RSA 鍵のホスト鍵の証明に
   RSA/SHA2 を優先しようとしていたが, いくつかの場合に失敗していた.
   最初の鍵交換でクライアントがこれらのアルゴリズムを提案をしたら,
   RSA 鍵に対して RSA/SHA2 署名を利用するようになる. bz3375

 * All: convert all uses of select(2)/pselect(2) to poll(2)/ppoll(2).
   This includes the mainloops in ssh(1), ssh-agent(1), ssh-agent(1)
   and sftp-server(8), as well as the sshd(8) listen loop and all
   other FD read/writability checks. On platforms with missing or
   broken poll(2)/ppoll(2) syscalls as select(2)-based compat shim is
   available.

   すべて: select(2)/pselect(2) のすべての利用を poll(2)/ppoll(2) に
   変換する. これは, ssh(1) と ssh-agent(1), sftp-server(8) の
   メインループと sshd(8) の listen ループや他のファイルデスクリプタ
   読み込み/書き込み可能チェックを含む. poll(2) や ppoll(2) システムコールが
   なかったり壊れているプラットフォームでは, select(2) ベースの互換コードが
   利用できる.

 * ssh-keygen(1): the "-Y find-principals" command was verifying key
   validity when using ca certs but not with simple key lifetimes
   within the allowed signers file.

   ssh-keygen(1): "-Y find-principals" コマンドは ca 証明書を用いているが
   許可された署名者のファイル中に単純な鍵の寿命がない場合に
   鍵の正当性を検証していた.

 * ssh-keygen(1): make sshsig verify-time argument parsing optional

   ssh-keygen(1): sshsig verify-time 引数のパースをオプションにする

 * ssh(1), ssh-agent(1): avoid xmalloc(0) for PKCS#11 keyid for ECDSA
   keys (we already did this for RSA keys). Avoids fatal errors for
   PKCS#11 libraries that return empty keyid, e.g. Microchip ATECC608B
   "cryptoauthlib"; bz#3364

   ssh(1), ssh-agent(1): ECDSA 鍵の PKCS#11 keyid に対して xmalloc(0)
   を避ける (すでに RSA 鍵についてはそうしている). Microchip ATECC608B
   "cryptoauthlib" のような空の keyid を返す PKCS#11 ライブラリによる
   致命的エラーを避ける; bz#3364

 * ssh(1), ssh-agent(1): improve the testing of credentials against
    inserted FIDO: ask the token whether a particular key belongs to
    it in cases where the token supports on-token user-verification
    (e.g. biometrics) rather than just assuming that it will accept it.

    Will reduce spurious "Confirm user presence" notifications for key
    handles that relate to FIDO keys that are not currently inserted in at
    least some cases. bz3366

   ssh(1), ssh-agent(1): 挿入された FIDO に対する認証情報のテストを改善する:
   トークンがトークン上でのユーザ検証をサポートしている場合 (例えば 生体認証)
   トークンが鍵を受けつけるか推定するだけではなく,
   特定の鍵がトークン内にあるかをトークンに尋ねる.

   少なくともいくつかの場合で, 現在挿入されていない FIDO 鍵に関連する
   鍵の扱いでの偽の "ユーザの存在確認" 通知を減らす.

 * ssh(1), sshd(8): correct value for IPTOS_DSCP_LE. It needs to
   allow for the preceding two ECN bits. bz#3373

   ssh(1), sshd(8): IPTOS_DSCP_LE の値を修正する. 先行する 2 つの
   ECN ビットを許容する必要がある. bz#3373

 * ssh-keygen(1): add missing -O option to usage() for the "-Y sign"
   option.

   ssh-keygen(1): "-Y sign" オプションの usage() に -O オプションが
   なかったので追加する.

 * ssh-keygen(1): fix a NULL deref when using the find-principals
   function, when matching an allowed_signers line that contains a
   namespace restriction, but no restriction specified on the
   command-line

   ssh-keygen(1): find-principals 機能を用いる場合と名前空間制限を含む
   allowed_signers 行に一致するがコマンドラインで制限が指定されていない場合の
   NULL 逆参照を修正する.

 * ssh-agent(1): fix memleak in process_extension(); oss-fuzz
   issue #42719

   ssh-agent(1): process_extension() でのメモリリークを修正する.
   oss-fuzz の issue #42719

 * ssh(1): suppress "Connection to xxx closed" messages when LogLevel
   is set to "error" or above. bz3378

   ssh(1): LogLevel が "error" 以上に設定されている場合に
   "Connection to xxx closed" メッセージを抑制する.

 * ssh(1), sshd(8): use correct zlib flags when inflate(3)-ing
   compressed packet data. bz3372

   ssh(1), sshd(8): 圧縮されたパケットデータを inflate(3) する場合に
   正しい zlib のフラグを利用する. bz3372

 * scp(1): when recursively transferring files in SFTP mode, create the
   destination directory if it doesn't already exist to match scp(1) in
   legacy RCP mode behaviour.

   scp(1): SFTP モードでファイルを再帰的に転送する場合, scp(1) の
   伝統的な RCP モードの振舞に一致するよう, 転送先のディレクトリが存在
   しなけば作成する.

 * scp(1): many improvements in error message consistency between scp(1)
   in SFTP mode vs legacy RCP mode.

   scp(1): scp(1) の SFTP モードと伝統的な RCP モードの間でエラーメッセージの
   一貫性を上げる大くの修正をする.

 * sshd(8): fix potential race in SIGTERM handling PR#289

   sshd(8): SIGTERM の扱いでの潜在的な競合状態を修正する PR#289

 * ssh(1), ssh(8): since DSA keys are deprecated, move them to the
   end of the default list of public keys so that they will be tried
   last. PR#295

   ssh(1), ssh(8): DSA 鍵が非推奨になったので, 最後に試行されるように
   公開鍵のデフォルトリストの末尾に移動する. PR#295

 * ssh-keygen(1): allow 'ssh-keygen -Y find-principals' to match
   wildcard principals in allowed_signers files

   ssh-keygen(1): 'ssh-keygen -Y find-principals' で
   allowed_signers ファイルのワイルドカード principals に一致するようにする.

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

移植性

 * ssh(1), sshd(8): don't trust closefrom(2) on Linux. glibc's
   implementation does not work in a chroot when the kernel does not
   have close_range(2). It tries to read from /proc/self/fd and when
   that fails dies with an assertion of sorts. Instead, call
   close_range(2) directly from our compat code and fall back if
   that fails.  bz#3349,

   ssh(1), sshd(8): Linux の closefrom(2) を信用しない. glibc の実装は
   あーねるガ close_range(2) を持たない場合chroot 内で動作しない.
   /proc/self/fd から読み取ろうとし, 失敗したら assertion 付きで
   失敗する. 代わりに 我々の互換コードから close_range(2) を直接呼び
   失敗したらフォールバックする.

 * OS X poll(2) is broken; use compat replacement. For character-
   special devices like /dev/null, Darwin's poll(2) returns POLLNVAL
   when polled with POLLIN. Apparently this is Apple bug 3710161 -
   not public but a websearch will find other OSS projects
   rediscovering it periodically since it was first identified in
   2005.

   OS X poll(2) は請われている; 互換コードを利用する. /dev/null
   のようなキャラクター特殊デバイスに対して POLLIN 付きで poll されると
   Darwin の poll(2) は POLLNVAL を返す. どうやら Apple のバグ
   3710161 らしい - 公開されていないが, web検索で他の OSS プロジェクト
   再発見されているのが最初に識別された 2005 年以降定期的にみつかる.

 * Correct handling of exceptfds/POLLPRI in our select(2)-based
   poll(2)/ppoll(2) compat implementation.

   我々の select(2) ベースの poll(2)/ppoll(2) 互換実装で exceptfds/POLLPRI
   の扱いを修正する.

 * Cygwin: correct checking of mbstowcs() return value.

   Cygwin: mbstowcs() の返り値のチェックを修正する.

 * Add a basic SECURITY.md that refers people to the openssh.com
   website.

   openssh.com のウェブサイトを人々に示す簡単な SECURITY.md を追加する

 * Enable additional compiler warnings and toolchain hardening flags,
   including -Wbitwise-instead-of-logical, -Wmisleading-indentation,
   -fzero-call-used-regs and -ftrivial-auto-var-init.

   -Wbitwise-instead-of-logical と -Wmisleading-indentation,
   -fzero-call-used-regs, -ftrivial-auto-var-init を含む
   追加のコンパイラの警告と toolchain を強固にするフラグを有効にする.

 * HP/UX. Use compat getline(3) on HP-UX 10.x, where the libc version
   is not reliable.

   HP/UX. libc バージョンが信頼できないので HP-UX 10.x で互換の getline(3)
   を利用する

OpenSSH 8.8 がリリースされました

26 Sep, 2021 - 5 minutes

2021/09/26, OpenSSH 8.8 がリリースされました.

https://www.openssh.com/txt/release-8.8

Future deprecation notice
=========================

将来廃止される機能の告知

A near-future release of OpenSSH will switch scp(1) from using the
legacy scp/rcp protocol to using SFTP by default.

OpenSSH の近い将来のリリースで scp(1) を伝統的な scp/rcp プロトコルの利用から
デフォルトで SFTP の利用に変更する.

Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.

伝統的な scp/rcp はリモートのファイル名の展開 (例えば scp host:* .*) を
リモートのシェルを通して行なう. これは, scp(1) のコマンドラインに含まれる
ファイル名のシェルメタ文字のダブルクオートを必要とする副作用があり, 一方で
それらはリモートサイドのシェルコマンドとして解釈される可能性がある.

This creates one area of potential incompatibility: scp(1) when using
the SFTP protocol no longer requires this finicky and brittle quoting,
and attempts to use it may cause transfers to fail. We consider the
removal of the need for double-quoting shell characters in file names
to be a benefit and do not intend to introduce bug- compatibility for
legacy scp/rcp in scp(1) when using the SFTP protocol.

これは, 潜在的な非互換性の領域を作成する: SFTP プロトコルを用いる scp(1) は
このような気難しく不安定なクオートを必要せず, 利用しようとすると転送に失敗する
ことがある. ファイル名でのシェル文字のダブルクオートの必要の除去は利益となり
SFTP プロトコルの利用時に scp(1) の伝統的な scp/rcp のバグのある互換性を
導入しないことを我々は考慮した.

Another area of potential incompatibility relates to the use of remote
paths relative to other user's home directories, for example -
"scp host:~user/file /tmp". The SFTP protocol has no native way to
expand a ~user path. However, sftp-server(8) in OpenSSH 8.7 and later
support a protocol extension "expand-path@openssh.com" to support
this.

潜在的な非互換性の他の領域は, 他のユーザのホームディレクトリの相対リモートパス,
例えば, "scp host:~user/file /tmp" に関連する. SFTP プロトコルは, ~user パスの
展開をネイティブに行なう方法を持たない. しかし, OpenSSH 8.7 以降の sftp-server(8)
は,  これをサポートする "expand-path@openssh.com" プロトコル拡張で
サポートする.

Security
========

セキュリティ

sshd(8) from OpenSSH 6.2 through 8.7 failed to correctly initialise
supplemental groups when executing an AuthorizedKeysCommand or
AuthorizedPrincipalsCommand, where a AuthorizedKeysCommandUser or
AuthorizedPrincipalsCommandUser directive has been set to run the
command as a different user. Instead these commands would inherit
the groups that sshd(8) was started with.

OpenSSH 6.2 から 8.7 の sshd(8) は,
AuthorizedPrincipalsCommandUser ないし AuthorizedPrincipalsCommandUser
設定項目が異なるユーザとしてコマンドを実行するように設定されていた場合に
AuthorizedKeysCommand ないし AuthorizedPrincipalsCommand の実行時に
supplemental グループの 初期化を正しく行なえていなかった.
代わりに, これらのコマンドは sshd(8) を開始したグループを継承している.

Depending on system configuration, inherited groups may allow
AuthorizedKeysCommand/AuthorizedPrincipalsCommand helper programs to
gain unintended privilege.

システムの設定に依存して, 継承したグウープは
AuthorizedKeysCommand/AuthorizedPrincipalsCommand ヘルパープログラムが
意図しない権限を得る可能性がある.

Neither AuthorizedKeysCommand nor AuthorizedPrincipalsCommand are
enabled by default in sshd_config(5).

AuthorizedKeysCommand と AuthorizedPrincipalsCommand は sshd_config(6) の
デフォルトでは有効とされていない.

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

潜在的に非互換な変更

This release disables RSA signatures using the SHA-1 hash algorithm
by default. This change has been made as the SHA-1 hash algorithm is
cryptographically broken, and it is possible to create chosen-prefix
hash collisions for <USD$50K [1]

このリリースは SHA-1 ハッシュアルゴリズムを用いる RSA 署名を
デフォルトで無効とする. この変更は, SHA-1 ハッシュアルゴリズムが
暗号学的に壊れていて, USドル 50K より少ない金額で選択プレフィックス
ハッシュ衝突ガ USドル $50K 以下で作れることが可能 [1] なために
行なわれた.

For most users, this change should be invisible and there is
no need to replace ssh-rsa keys. OpenSSH has supported RFC8332
RSA/SHA-256/512 signatures since release 7.2 and existing ssh-rsa keys
will automatically use the stronger algorithm where possible.

多くのユーザにとって, この変更は可視化されず ssh-rsa 鍵を
置き換える必要はない. OpenSSH は RFC8332 の RSA/SHA-256/512 署名を
7.2 リリースからサポートしていて, 既存の ssh-rsa 鍵は, 利用可能であれば
このより強いアルゴリズムを自動的に用いる.

Incompatibility is more likely when connecting to older SSH
implementations that have not been upgraded or have not closely tracked
improvements in the SSH protocol. For these cases, it may be necessary
to selectively re-enable RSA/SHA1 to allow connection and/or user
authentication via the HostkeyAlgorithms and PubkeyAcceptedAlgorithms
options. For example, the following stanza in ~/.ssh/config will enable
RSA/SHA1 for host and user authentication for a single destination host:

アップグレードされなかったり SSH プロトコルの改良に十分に対応していない
より古い SSH 実装と接続する場合は, 非互換性が失なわれる可能性がより高い.
このような場合,  HostkeyAlgorithms や PubkeyAcceptedAlgorithms 設定項目を
用いて RSA/SHA1 を選択的に再有効化する必要があるかもしれない.
例えば ~/.ssh/config の次のような節で, 単一の接続先ホストに対して, ホストと
ユーザ認証に対して RSA/SHA1 を有効にする.

    Host old-host
        HostkeyAlgorithms +ssh-rsa
	PubkeyAcceptedAlgorithms +ssh-rsa

We recommend enabling RSA/SHA1 only as a stopgap measure until legacy
implementations can be upgraded or reconfigured with another key type
(such as ECDSA or Ed25519).

RSA/SHA1 の有効化は, 伝統的な実装がアップグレードされるか
(ECDSA ないし Ed25519 のような) 他の鍵の種類で再設定されるまでの
間に合せの方法のみとされることを推奨する.

[1] "SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA-1 and
    Application to the PGP Web of Trust" Leurent, G and Peyrin, T
    (2020) https://eprint.iacr.org/2020/014.pdf

Changes since OpenSSH 8.7
=========================

This release is motivated primarily by the above deprecation and
security fix.

このリリースは主に前述の非推奨とセキュリティの修正によって
誘引された.

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

新機能

 * ssh(1): allow the ssh_config(5) CanonicalizePermittedCNAMEs
   directive to accept a "none" argument to specify the default
   behaviour.

   ssh(1): ssh_config(5) の CanonicalizePermittedCNAMEs 設定項目で
   デフォルトの振舞いを指定する "none" 引数を許容するようになる.

Bugfixes
--------

バグ修正

 * scp(1): when using the SFTP protocol, continue transferring files
   after a transfer error occurs, better matching original scp/rcp
   behaviour.

   scp(1): SFTP プロトコルの利用時に, 元々の scp/rcp の振舞いに
   より合わせるため, 転送エラーが起った後にファイルの転送を継続
   するようにする.

 * ssh(1): fixed a number of memory leaks in multiplexing,
   
   ssh(1): 多重化でのいくつかのメモリリークを修正した.

 * ssh-keygen(1): avoid crash when using the -Y find-principals
   command.

   ssh-keygen(1): -Y find-principals コマンドの利用時のクラッシュを
   回避する.

 * A number of documentation and manual improvements, including
   bz#3340, PR#139, PR#215, PR#241, PR#257

   bz#3340, PR#139, PR#215, PR#241, PR#257 をふくむ,
   いくつかのドキュメントとマニュアルの改善.

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

移植性

 * ssh-agent(1): on FreeBSD, use procctl to disable ptrace(2)

   ssh-agent(1): FreeBSD で, ptrace(2) を無効にするために
   procctl を用いる

 * ssh(1)/sshd(8): some fixes to the pselect(2) replacement
   compatibility code. bz#3345

   ssh(1)/sshd(8): pselect(2) の代替移植性のコードに対する
   いくつかの修正. bz#3345

OpenSSH 8.7 がリリースされました

20 Aug, 2021 - 11 minutes

2021/08/20, OpenSSH 8.7 がリリースされました.

https://www.openssh.com/txt/release-8.7

Imminent deprecation notice
===========================

差し迫った廃止の通知

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.

OpenSSH は次のリリースで ssh-rsa 署名スキームをデフォルトで無効にする.

In the SSH protocol, the "ssh-rsa" signature scheme uses the SHA-1
hash algorithm in conjunction with the RSA public key algorithm.
It is now possible[1] to perform chosen-prefix attacks against the
SHA-1 algorithm for less than USD$50K.

SSH プロトコルで, "ssh-rsa" 署名スキームは RSA 公開鍵アルゴリズムと共に
SHA-1 ハッシュアルゴリズムを利用する. 
USドル 50K より少ない金額で SHA-1 アルゴリズムに対する選択プレフィックス
攻撃が実行できることが [1] で示されている. 

Note that the deactivation of "ssh-rsa" signatures does not necessarily
require cessation of use for RSA keys. In the SSH protocol, keys may be
capable of signing using multiple algorithms. In particular, "ssh-rsa"
keys are capable of signing using "rsa-sha2-256" (RSA/SHA256),
"rsa-sha2-512" (RSA/SHA512) and "ssh-rsa" (RSA/SHA1). Only the last of
these is being turned off by default.

"ssh-rsa" 署名の無効化は RSA 鍵の利用の停止を必ずしも必要としない
ことに注意. SSH プロトコルでは, 鍵は複数のアルゴリズムを用いて署名に利用
できる. 特に "ssh-rsa" 鍵は, "rsa-sha2-256" (RSA/SHA256) と
"rsa-sha2-512" (RSA/SHA512),  "ssh-rsa" (RSA/SHA1) を用いて署名可能だ.
最後のものだけがデフォルトで無効になる予定だ.

This algorithm is unfortunately still used widely despite the
existence of better alternatives, being the only remaining public key
signature algorithm specified by the original SSH RFCs that is still
enabled by default.

このアルコリズムは, よりよい代替があるにもかかわらず
もともとの SSH RFC で定義された公開鍵署名アルゴリズムのの中で
ただ 1 つ残ったアルゴリズムとして,
不幸なことにいまだ広く用いられている.

The better alternatives include:

次に示すものがよりよい代替だ:

 * The RFC8332 RSA SHA-2 signature algorithms rsa-sha2-256/512. These
   algorithms have the advantage of using the same key type as
   "ssh-rsa" but use the safe SHA-2 hash algorithms. These have been
   supported since OpenSSH 7.2 and are already used by default if the
   client and server support them.

   RFC8332 の RSA SHA-2 署名アルゴリズム rsa-sha-256/512.
   これらのアルゴリズムは "ssh-rsa" と同じ鍵タイプを用いる利点があり
   安全な SHA-2 ハッシュアルゴリズムを用いている. これらは
   OpenSSH 7.2 以降でサポートされており, クライアントとサーバが
   サポートしているならすでにデフォルトで用いられている.

 * The RFC8709 ssh-ed25519 signature algorithm. It has been supported
   in OpenSSH since release 6.5.

   RFC8709 の ssh-ed25519 署名アルゴリズム.
   OpenSSH 6.5 以降でサポートされている.

 * The RFC5656 ECDSA algorithms: ecdsa-sha2-nistp256/384/521. These
   have been supported by OpenSSH since release 5.7.

   RFC5656 の ECDSA アルゴリズム: ecdsa-sha2-nistp256/384/521. These
   これらは OpenSSH 5.7 以降でサポートされている.

To check whether a server is using the weak ssh-rsa public key
algorithm, for host authentication, try to connect to it after
removing the ssh-rsa algorithm from ssh(1)'s allowed list:

サーバがホストの認証のために, 弱い ssh-rsa 公開鍵アルゴリズムを
利用しているか検査するには, ssh(1) の許可リストから ssh-rsa
アルゴリズムを除いたあとで接続を試行すればよい.

    ssh -oHostKeyAlgorithms=-ssh-rsa user@host

If the host key verification fails and no other supported host key
types are available, the server software on that host should be
upgraded.

ホスト鍵検証が失敗し他にサポートされたホスト鍵の種類がない場合,
ホストのサーバソフトウェアをアップグレードする必要がある.

OpenSSH recently enabled the UpdateHostKeys option by default to
assist the client by automatically migrating to better algorithms.

OpenSSH では, クライアントがよりよいアルゴリズムに自動的に移行できるよう
助ける UpdateHostKeys 設定項目が最近デフォルトで有効となった.

[1] "SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA-1 and
    Application to the PGP Web of Trust" Leurent, G and Peyrin, T
    (2020) https://eprint.iacr.org/2020/014.pdf

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響する可能性のある変更をいくつか含んでいる.

 * scp(1): this release changes the behaviour of remote to remote
   copies (e.g. "scp host-a:/path host-b:") to transfer through the
   local host by default. This was previously available via the -3
   flag. This mode avoids the need to expose credentials on the
   origin hop, avoids triplicate interpretation of filenames by the
   shell (by the local system, the copy origin and the destination)
   and, in conjunction with the SFTP support for scp(1) mentioned
   below, allows use of all authentication methods to the remote
   hosts (previously, only non-interactive methods could be used).
   A -R flag has been added to select the old behaviour.

   scp(1): このリリースはリモート-リモートのコピー (たとえば
   "scp host-a:/path host-b:") の振舞いを変更し, デフォルトでローカル
   ホストを経由して転送するようになる. これは以前から -3 フラグにより
   利用可能だ. このモードは転送元の認証情報を開示する必要を避け,
   シェルによるファイル名の (ローカルなシステム, コピー元, コピー先による)
   3重の解釈を避け, 後述する scp(1) に対する SFTP のサポートと併せて
   リモートホストへのすべての認証法の利用を許す (以前はインタラクティブ
   でない方法のみが利用できた). -R フラグが古い振舞いを選択するために
   追加される.

 * ssh(1)/sshd(8): both the client and server are now using a
   stricter configuration file parser. The new parser uses more
   shell-like rules for quotes, space and escape characters. It is
   also more strict in rejecting configurations that include options
   lacking arguments. Previously some options (e.g. DenyUsers) could
   appear on a line with no subsequent arguments. This release will
   reject such configurations. The new parser will also reject
   configurations with unterminated quotes and multiple '='
   characters after the option name.

   ssh(1)/sshd(8): クライアント/サーバはより厳格な設定ファイル
   パーサを利用する. 新しいパーサはクオートやスペース, エスケープ文字
   に対してよりシェル的なルールを利用する. 引数のない設定項目を含む設定
   の拒否をより厳格にする. 以前はいくつかのオプション (たとえば DenyUsers)
   が後続の引数なしで行に現われることがあった. このリリースは
   そのような設定を拒否する. 新しいパーサは終端していないクオートや
   設定項目名の後の複数の '=' 文字を持つ設定も拒否する.

 * ssh(1): when using SSHFP DNS records for host key verification,
   ssh(1) will verify all matching records instead of just those
   with the specific signature type requested. This may cause host
   key verification problems if stale SSHFP records of a different
   or legacy signature type exist alongside other records for a
   particular host. bz#3322

   ssh(1): ホスト鍵の検証に SSHFP DNS レコードを用いる際, ssh(1) は
   要求された特定の署名タイプのレコードだけを検証する代わりに
   すべての一致するレコードを検証するようになる. (以前の振舞いは)
   特定のホストの他のレコードと共に, 異なるないし過去の署名タイプの新鮮でない
   SSHFP レコードが存在する場合に, ホスト鍵の検証の問題を引き起こす.
   bz#3332

 * ssh-keygen(1): when generating a FIDO key and specifying an
   explicit attestation challenge (using -Ochallenge), the challenge
   will now be hashed by the builtin security key middleware. This
   removes the (undocumented) requirement that challenges be exactly
   32 bytes in length and matches the expectations of libfido2.

   ssh-keygen(1): FIDO 鍵を生成し ( -Ochallenge を用いて ) 明示的な
   attestation チャレンジ を指定する際, チャレンジは組込みのセキュリティ
   鍵ミドルウェアによりハッシュされるようになる.  これは, チャレンジが
   正確に 32 バイト長でlibfido2 の期待の一致するという
   (文書化されていない) 要件を除く.

 * sshd(8): environment="..." directives in authorized_keys files are
   now first-match-wins and limited to 1024 discrete environment
   variable names.

   sshd(8): authorized_keys ファイルでの environment="..." の指定は,
   最初の一致が優先され, 1024 の独立した環境変数名に限定されるようになる.

Changes since OpenSSH 8.6
=========================

OpenSSH 8.6 からの変更

This release contains a mix of new features and bug-fixes.

このリリースは新機能とバグ修正が含まれる.

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

新機能

 - scp(1): experimental support for transfers using the SFTP protocol
   as a replacement for the venerable SCP/RCP protocol that it has
   traditionally used. SFTP offers more predictable filename handling
   and does not require expansion of glob(3) patterns via the shell
   on the remote side.

   scp(1): 伝統的に利用されている尊い SCP/RCP プロトコルの代替として
   SFTP プロトコルを利用する転送を実験的にサポートする. SFTP は
   より意外性のないファイル名の扱いを提供し, リモート側のシェルによる
   glob(3) の展開を必要としない.

   SFTP support may be enabled via a temporary scp -s flag. It is
   intended for SFTP to become the default transfer mode in the
   near future, at which time the -s flag will be removed. The -O
   flag exists to force use of the original SCP/RCP protocol for
   cases where SFTP may be unavailable or incompatible.

   SFTP サポートは scp の 一時的な -s フラグによって有効化される.
   近い将来 SFTP をデフォルトの転送モードにするつもりで, その時
   -s フラグは除去されるだろう. SFTP が利用できなかったり互換性がない
   場合に元の SCP/RCP プロトコルを強制的に利用するために -O フラグが
   存在する(追加される).

 - sftp-server(8): add a protocol extension to support expansion of
   ~/ and ~user/ prefixed paths. This was added to support these
   paths when used by scp(1) while in SFTP mode.

   sftp-server(8): ~/ と ~user/ で始まるパスの展開をサポートする
   プロトコル拡張を追加する. SFTP モードの scp(1) によって利用される際に
   これらのパスのサポートが追加される.

 - ssh(1): add a ForkAfterAuthentication ssh_config(5) counterpart to
   the ssh(1) -f flag. GHPR#231

   ssh(1): ssh(1) の -f フラグの対照として ForkAfterAuthentication
   ssh_config(5) を追加する. GHPR#231

 - ssh(1): add a StdinNull directive to ssh_config(5) that allows the
   config file to do the same thing as -n does on the ssh(1) command-
   line. GHPR#231

   ssh(1): ssh(1) コマンドラインでの -n が行なうのと同様のことを
   設定ファイルで設定できる StdinNull 設定項目を ssh_config(5) に追加する.
   GHPR#231

 - ssh(1): add a SessionType directive to ssh_config, allowing the
    configuration file to offer equivalent control to the -N (no
    session) and -s (subsystem) command-line flags. GHPR#231

   ssh(1): ssh_config に SessionType 設定項目を追加する.
   コマンドラインフラグでの -N (no sessoin) と -s (subsystem)
   と同等の制御を設定ファイルで提供する. GHPR#231

 - ssh-keygen(1): allowed signers files used by ssh-keygen(1)
   signatures now support listing key validity intervals alongside
   they key, and ssh-keygen(1) can optionally check during signature
   verification whether a specified time falls inside this interval.
   This feature is intended for use by git to support signing and
   verifying objects using ssh keys.

   ssh-keygen(1): ssh-keygen(1) の署名で利用される許可された署名者のファイルが
   鍵の正当性の期間を鍵と共に列挙できるようになり, ssh-keygen(1)は, 署名検証中に
   指定した時間がこの期間内にあるかどうかチェックできるようになる.
   で指定できるようになる.  この機能は, git が ssh 鍵を用いたオブジェクトの署名と
   検証をサポートするために利用されることを意図している.

 - ssh-keygen(8): support printing of the full public key in a sshsig
   signature via a -Oprint-pubkey flag.

   ssh-keygen(8): -Oprint-pubkey フラグにより sshsig 署名中の完全な
   公開鍵の表示をサポートする.

Bugfixes
--------

バグ修正

 * ssh(1)/sshd(8): start time-based re-keying exactly on schedule in
   the client and server mainloops. Previously the re-key timeout
   could expire but re-keying would not start until a packet was sent
   or received, causing a spin in select() if the connection was
   quiescent.

   ssh(1)/sshd(8): クライアントとサーバのメインループ中でスケジュール通りに
   時間ベースの鍵の再生成を始める. 以前は鍵の再生成のタイムアウトが
   期限切れになってもパケットが送信されるか受信されるまで鍵の再生成が
   始まらなかった. 接続が活動していない場合に select() 内で spin が
   生じていた.

 * ssh-keygen(1): avoid Y2038 problem in printing certificate
   validity lifetimes. Dates past 2^31-1 seconds since epoch were
   displayed incorrectly on some platforms. bz#3329

   ssh-keygen(1): 証明書の有効期限の表示での Y2038 問題を回避する.
   epoch から 2^31-1 秒経過した日付がいくつかのプラットフォームで
   正確に表示されていなかった. bz#3329

 * scp(1): allow spaces to appear in usernames for local to remote
   and scp -3 remote to remote copies. bz#1164

   scp(1): ローカルからリモートへの転送と scp -3 でのリモート-リモート
   コピーで, ユーザ名に空白が入っていてもよくなる. bz#1164

 * ssh(1)/sshd(8): remove references to ChallengeResponseAuthentication
   in favour of KbdInteractiveAuthentication. The former is what was in
   SSHv1, the latter is what is in SSHv2 (RFC4256) and they were
   treated as somewhat but not entirely equivalent. We retain the old
   name as a deprecated alias so configuration files continue to work
   as well as a reference in the man page for people looking for it.
   bz#3303

   ssh(1)/sshd(8): ChallengeResponseAuthentication への参照を削除し
   KbdInteractiveAuthentication を採用する. 前者は SSHv1 のもので,
   後者は SSHv2 (RFC4256) のもので, これらは 同じように扱われるが
   完全に同等のものではない. 我々は古い名前も非推奨の別名として維持し
   設定ファイルは動作する. また, この名前を探している人のために
   マニュアルに参照は残す. bz#3303

 * ssh(1)/ssh-add(1)/ssh-keygen(1): fix decoding of X.509 subject name
   when extracting a key from a PKCS#11 certificate. bz#3327

   ssh(1)//ssh-add(1)/ssh-keygen(1): PKCS#11 証明書から鍵を
   抜き出す際の X.509 subject name のデコードを修正する.

 * ssh(1): restore blocking status on stdio fds before close. ssh(1)
   needs file descriptors in non-blocking mode to operate but it was
   not restoring the original state on exit. This could cause
   problems with fds shared with other programs via the shell,
   bz#3280 and GHPR#246

   ssh(1): stdio のファイルデスクリプタの blocking 状態を
   閉じる前に回復する. ssh(1) は 操作のためにファイルデスクリプタ
   を non-blocking モードにする必要があるが, 終了時に元の状態に戻して
   いなかった. これは シェルを経由して他のプログラムと共有される
   ファイルデスクリプタで問題を起こしうる. bz#3280 と GHPR#246

 * ssh(1)/sshd(8): switch both client and server mainloops from
   select(3) to pselect(3). Avoids race conditions where a signal
   may arrive immediately before select(3) and not be processed until
   an event fires. bz#2158

   ssh(1)/sshd(8): クライアントとサーバのメインループで select(3) から
   pselect(3) に切り替える.  select(3) の直前にシグナルが来ても
   イベントが発火するまで処理されない競合状態を回避する. bz#2158

 * ssh(1): sessions started with ControlPersist were incorrectly
   executing a shell when the -N (no shell) option was specified.
   bz#3290

   ssh(1): ControlPersist 付きで始まるセッションが, -N (no shell) オプションを
   指定されていてもシェルを不正に実行していた. bz#3290

 * ssh(1): check if IPQoS or TunnelDevice are already set before
   overriding. Prevents values in config files from overriding values
   supplied on the command line. bz#3319

   ssh(1): IPQoS と TunnelDevice がすでに設定されているか上書きする前に
   確認する. 設定ファイルの値が コマンドラインで指定された値を上書きするのを
   防ぐ. bz#3319

 * ssh(1): fix debug message when finding a private key to match a
   certificate being attempted for user authentication. Previously it
   would print the certificate's path, whereas it was supposed to be
   showing the private key's path. GHPR#247

   ssh(1): ユーザ認証が試行される証明書に一致する秘密鍵の検索での
   debug メッセージを修正する. 以前は, 証明書のパスを表示するはずが
   秘密鍵のパスを表示していた. GHPR#247

 * sshd(8): match host certificates against host public keys, not
   private keys. Allows use of certificates with private keys held in
   a ssh-agent.  bz#3524

   sshd(8): ホスト秘密鍵ではなくホスト公開鍵に対してホスト証明書を一致させる.
   ssh-agent 中に保持される秘密鍵付きの証明書の利用を可能にする.
   bz#3524

 * ssh(1): add a workaround for a bug in OpenSSH 7.4 sshd(8), which
   allows RSA/SHA2 signatures for public key authentication but fails
   to advertise this correctly via SSH2_MSG_EXT_INFO. This causes
   clients of these server to incorrectly match
   PubkeyAcceptedAlgorithmse and potentially refuse to offer valid
   keys. bz#3213

   ssh(1): OpenSSH 7.4 sshd(8) のバグに対する回避策を追加する.
   OpenSSH 7.4 sshd(8) は RSA/SHA2 署名を公開鍵認証で許可するが, 
   SSH2_MSG_EXT_INFO でこれを正しく広告するのに失敗する.
   これらのサーバのクライアントに対し PubkeyAcceptedAlgorithms を不正に
   一致させ, 潜在的に正当な鍵の提供を拒否する事態を起こす. bz#3213

 * sftp(1)/scp(1): degrade gracefully if a sftp-server offers the
   limits@openssh.com extension but fails when the client tries to
   invoke it. bz#3318

   sftp(1)/scp(1): sftp-server が limits@openssh.com 拡張を提供するが
   クライアントがその起動に失敗した場合に慈悲深く拡張を無効にする.
   bz#3318

 * ssh(1): allow ssh_config SetEnv to override $TERM, which is
   otherwise handled specially by the protocol. Useful in ~/.ssh/config
   to set TERM to something generic (e.g. "xterm" instead of
   "xterm-256color") for destinations that lack terminfo entries.

   ssh(1): ssh_config の SetEnv が $TERM の上書きを可能にする.
   これはプロトコルでは特別に処理される. terminfo エントリが欠けている
   接続先に対して TERM をなにか一般的なもの (例えば "xterm-256color"
   の代わりに "xterm") に ~/.ssh/config で設定するのに便利だ.

 * sftp-server(8): the limits@openssh.com extension was incorrectly
   marked as an operation that writes to the filesystem, which made it
   unavailable in sftp-server read-only mode. bz#3318

   sftp-server(8): limits@openssh.com 拡張がファイルシステムへの書き込みをする
   操作で不正にマークされていて, sftp-server を読み取り専用モードで
   利用できなくなっていた. bz#3318

 * ssh(1): fix SEGV in UpdateHostkeys debug() message, triggered when
   the update removed more host keys than remain present.

   ssh(1): UpdateHostkeys debug() メッセージでの SEGV を修正する.
   現在保持しているホスト鍵以上のホスト鍵を削除する更新によって引き起こされる.

 * many manual page fixes.

   多くのマニュアルページを修正する.

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

移植性

 * ssh(1): move closefrom() to before first malloc. When built against
   tcmalloc, the closefrom() would stomp on file descriptors created
   for tcmalloc's internal use. bz#3321

   ssh(1): 最初の malloc の前に closefrom() を移す. tcmalloc に対して
   ビルドされた場合, tcmalloc の内部利用のために用いられる ファイル
   デスクイプタを closefrom は 利用してしまう. bz#3321

 * sshd(8): handle GIDs > 2^31 in getgrouplist. When compiled in 32bit
   mode, the getgrouplist implementation may fail for GIDs greater than
   LONG_MAX.

   sshd(8): getgrouplist で 2^31 を越える GID を処理する. 32 ビットモード
   でコンパイルされると getgrouplist の実装は LONG_MAX を越える
   GID で失敗する.

 * ssh(1): xstrdup environment variable used by ForwardAgent. bz#3328

   ssh(1): ForwardAgent で利用される環境変数を xstrdup する bz#3328

 * sshd(8): don't sigdie() in signal handler in privsep child process;
   this can end up causing sandbox violations per bz3286

   sshd(9): 特権分離された子プロセル内のシグナルハンドラで sigdie() しない;
   これは bz3286 によるとサンドボックの破壊を引き起す可能性がある.

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

13 Aug, 2021 - 9 minutes

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

Call for testing: OpenSSH 8.7

scp(1) で SFTP プロトコルが利用できるようになるようです(まだデフォルトにはなりません)

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響する可能性のある変更をいくつか含んでいる.

 * scp(1): this release changes the behaviour of remote to remote
   copies (e.g. "scp host-a:/path host-b:") to transfer through the
   local host by default. This was previously available via the -3
   flag. This mode avoids the need to expose credentials on the
   origin hop, avoids triplicate interpretation of filenames by the
   shell (by the local system, the copy origin and the destination)
   and, in conjunction with the SFTP support for scp(1) mentioned
   below, allows use of all authentication methods to the remote
   hosts (previously, only non-interactive methods could be used).
   A -R flag has been added to select the old behaviour.

   scp(1): このリリースはリモート-リモートのコピー (たとえば
   "scp host-a:/path host-b:") の振舞いを変更し, デフォルトでローカル
   ホストを経由して転送するようになる. これは以前から -3 フラグにより
   利用可能だ. このモードは転送元の認証情報を開示する必要を避け,
   シェルによるファイル名の (ローカルなシステム, コピー元, コピー先による)
   3重の解釈を避け, 後述する scp(1) に対する SFTP のサポートと併せて
   リモートホストへのすべての認証法の利用を許す (以前はインタラクティブ
   でない方法のみが利用できた). -R フラグが古い振舞いを選択するために
   追加される.

 * ssh(1)/sshd(8): both the client and server are now using a more
   strict configuration file parser. The new parser uses more
   shell-like rules for quotes, space and escape characters. It is
   also more strict in rejecting configurations that include options
   lacking arguments. Previously some options (e.g. DenyUsers) to
   appear on a line with no subsequent arguments. This release will
   reject such configurations. The new parser will also reject
   configurations with unterminated quotes and multiple '='
   characters after the option name.

   ssh(1)/sshd(8): クライアント/サーバはより厳格な設定ファイル
   パーサを利用する. 新しいパーサはクオートやスペース, エスケープ文字
   に対してよりシェル的なルールを利用する. 引数のない設定項目を含む設定
   の拒否をより厳格にする. 以前はいくつかのオプション (たとえば DenyUsers)
   が後続の引数なしで行に現われることがあった. このリリースは
   そのような設定を拒否する. 新しいパーサは終端していないクオートや
   設定項目名の後の複数の '=' 文字を持つ設定も拒否する.

 * ssh(1): when using SSHFP DNS records for host key verification,
   ssh(1) will verify all matching records instead of just those
   with the specific signature type requested. This may cause host
   key verification problems if stale SSHFP records of a different
   or legacy signature type exist alongside other records for a
   particular host. bz#3322

   ssh(1): ホスト鍵の検証に SSHFP DNS レコードを用いる際, ssh(1) は
   要求された特定の署名タイプのレコードだけを検証する代わりに
   すべての一致するレコードを検証するようになる. (以前の振舞いは)
   特定のホストの他のレコードと共に, 異なるないし過去の署名タイプの新鮮でない
   SSHFP レコードが存在する場合に, ホスト鍵の検証の問題を引き起こす.
   bz#3332

 * ssh-keygen(1): when generating a FIDO key and specifying an
   explicit attestation challenge (using -Ochallenge), the challenge
   will now be hashed by the builtin security key middleware. This
   removes the (undocumented) requirement that challenges be exactly
   32 bytes in length and matches the expectations of libfido2.

   ssh-keygen(1): FIDO 鍵を生成し ( -Ochallenge を用いて ) 明示的な
   attestation チャレンジ を指定する際, チャレンジは組込みのセキュリティ
   鍵ミドルウェアによりハッシュされるようになる.  これは, チャレンジが
   正確に 32 バイト長でlibfido2 の期待の一致するという
   (文書化されていない) 要件を除く.

 * sshd(8): environment="..." directives in authorized_keys files are
   now first-match-wins and limited to 1024 discrete environment
   variable names.

   sshd(8): authorized_keys ファイルでの environment="..." の指定は,
   最初の一致が優先され, 1024 の独立した環境変数名に限定されるようになる.

Changes since OpenSSH 8.6
=========================

OpenSSH 8.6 からの変更

This release contains a mix of new features and bug-fixes.

このリリースは新機能とバグ修正が含まれる.

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

新機能

 - scp(1): experimental support for transfers using the SFTP protocol
   as a replacement for the venerable SCP/RCP protocol that it has
   traditionally used. SFTP offers more predictable filename handling
   and does not require expansion of glob(3) patterns via the shell
   on the remote side.

   scp(1): 伝統的に利用されている尊い SCP/RCP プロトコルの代替として
   SFTP プロトコルを利用する転送を実験的にサポートする. SFTP は
   より意外性のないファイル名の扱いを提供し, リモート側のシェルによる
   glob(3) の展開を必要としない.

   SFTP support may be enabled via a temporary scp -s flag. It is
   intended for SFTP to become the default transfer mode in the
   near future, at which time the -s flag will be removed. The -O
   flag exists to force use of the original SCP/RCP protocol for
   cases where SFTP may be unavailable or incompatible.

   SFTP サポートは scp の 一時的な -s フラグによって有効化される.
   近い将来 SFTP をデフォルトの転送モードにするつもりで, その時
   -s フラグは除去されるだろう. SFTP が利用できなかったり互換性がない
   場合に元の SCP/RCP プロトコルを強制的に利用するために -O フラグが
   存在する(追加される).

 - sftp-server(8): add a protocol extension to support expansion of
   ~/ and ~user/ prefixed paths. This was added to support these
   paths when used by scp(1) while in SFTP mode.

   sftp-server(8): ~/ と ~user/ で始まるパスの展開をサポートする
   プロトコル拡張を追加する. SFTP モードの scp(1) によって利用される際に
   これらのパスのサポートが追加される.

 - ssh(1): add a ForkAfterAuthentication ssh_config(5) counterpart to
   the ssh(1) -f flag. GHPR#231

   ssh(1): ssh(1) の -f フラグの対照として ForkAfterAuthentication
   ssh_config(5) を追加する. GHPR#231

 - ssh(1): add a StdinNull directive to ssh_config(5) that allows the
   config file to do the same thing as -n does on the ssh(1) command-
   line. GHPR#231

   ssh(1): ssh(1) コマンドラインでの -n が行なうのと同様のことを
   設定ファイルで設定できる StdinNull 設定項目を ssh_config(5) に追加する.
   GHPR#231

 - ssh(1): add a SessionType directive to ssh_config, allowing the
    configuration file to offer equivalent control to the -N (no
    session) and -s (subsystem) command-line flags. GHPR#231

   ssh(1): ssh_config に SessionType 設定項目を追加する.
   コマンドラインフラグでの -N (no sessoin) と -s (subsystem)
   と同等の制御を設定ファイルで提供する. GHPR#231

 - ssh-keygen(1): let allowed signers files used by ssh-keygen(1)
   signatures support key lifetimes, and allow the verification mode to
   specify a signature time to check at. This is intended for use by
   git to support signing objects using ssh keys.

   ssh-keygen(1): ssh-keygen(1) の署名で利用される許可された署名者のファイルが
   鍵の寿命をサポートするようになり, チェックする署名の時間を検証モード
   で指定できるようになる.  git が ssh 鍵を用いた署名のオブジェクトの
   サポートするために利用されることを意図している.

 - ssh-keygen(8): support printing of the full public key in a sshsig
   signature via a -Oprint-pubkey flag.

   ssh-keygen(8): -Oprint-pubkey フラグにより sshsig 署名中の完全な
   公開鍵の表示をサポートする.

Bugfixes
--------

バグ修正

 * ssh(1)/sshd(8): start time-based re-keying exactly on schedule in
   the client and server mainloops. Previously the re-key timeout
   could expire but re-keying would not start until a packet was sent
   or received, causing a spin in select() if the connection was
   quiescent.

   ssh(1)/sshd(8): クライアントとサーバのメインループ中でスケジュール通りに
   時間ベースの鍵の再生成を始める. 以前は鍵の再生成のタイムアウトが
   期限切れになってもパケットが送信されるか受信されるまで鍵の再生成が
   始まらなかった. 接続が活動していない場合に select() 内で spin が
   生じていた.

 * ssh-keygen(1): avoid Y2038 problem in printing certificate
   validity lifetimes. Dates past 2^31-1 seconds since epoch were
   displayed incorrectly on some platforms. bz#3329

   ssh-keygen(1): 証明書の有効期限の表示での Y2038 問題を回避する.
   epoch から 2^31-1 秒経過した日付がいくつかのプラットフォームで
   正確に表示されていなかった. bz#3329

 * scp(1): allow spaces to appear in usernames for local to remote
   and scp -3 remote to remote copies. bz#1164

   scp(1): ローカルからリモートへの転送と scp -3 でのリモート-リモート
   コピーで, ユーザ名に空白が入っていてもよくなる.

 * ssh(1)/sshd(8): remove references to ChallengeResponseAuthentication
   in favour of KbdInteractiveAuthentication. The former is what was in
   SSHv1, the latter is what is in SSHv2 (RFC4256) and they were
   treated as somewhat but not entirely equivalent. We retain the old
   name as a deprecated alias so configuration files continue to work
   as well as a reference in the man page for people looking for it.
   bz#3303

   ssh(1)/sshd(8): ChallengeResponseAuthentication への参照を削除し
   KbdInteractiveAuthentication を採用する. 前者は SSHv1 のもので,
   後者は SSHv2 (RFC4256) のもので, これらは 同じように扱われるが
   完全に同等のものではない. 我々は古い名前も非推奨の別名として維持し
   設定ファイルは動作する. また, この名前を探している人のために
   マニュアルに参照は残す. bz#3303

 * ssh(1)/ssh-add(1)/ssh-keygen(1): fix decoding of X.509 subject name
   when extracting a key from a PKCS#11 certificate. bz#3327

   ssh(1)//ssh-add(1)/ssh-keygen(1): PKCS#11 証明書から鍵を
   抜き出す際の X.509 subject name のデコードを修正する.

 * ssh(1): restore blocking status on stdio fds before close. ssh(1)
   needs file descriptors in non-blocking mode to operate but it was
   not restoring the original state on exit. This could cause
   problems with fds shared with other programs via the shell,
   bz#3280 and GHPR#246

   ssh(1): stdio のファイルデスクリプタの blocking 状態を
   閉じる前に回復する. ssh(1) は 操作のためにファイルデスクリプタ
   を non-blocking モードにする必要があるが, 終了時に元の状態に戻して
   いなかった. これは シェルを経由して他のプログラムと共有される
   ファイルデスクリプタで問題を起こしうる. bz#3280 と GHPR#246

 * ssh(1)/sshd(8): switch both client and server mainloops from
   select(3) to pselect(3). Avoids race conditions where a signal
   may arrive immediately before select(3) and not be processed until
   an event fires. bz#2158

   ssh(1)/sshd(8): クライアントとサーバのメインループで select(3) から
   pselect(3) に切り替える.  select(3) の直前にシグナルが来ても
   イベントが発火するまで処理されない競合状態を回避する.

 * ssh(1): sessions started with ControlPersist were incorrectly
   executing a shell when the -N (no shell) option was specified.
   bz#3290

   ssh(1): ControlPersist 付きで始まるセッションが, -N (no shell) オプションを
   指定されていてもシェルを不正に実行していた. bz#3290

 * ssh(1): check if IPQoS or TunnelDevice are already set before
   overriding. Prevents values in config files from overriding values
   supplied on the command line. bz#3319

   ssh(1): IPQoS と TunnelDevice がすでに設定されているか上書きする前に
   確認する. 設定ファイルの値が コマンドラインで指定された値を上書きするのを
   防ぐ. bz#3319

 * ssh(1): fix debug message when finding a private key to match a
   certificate being attempted for user authentication. Previously it
   would print the certificate's path, whereas it was supposed to be
   showing the private key's path. GHPR#247

   ssh(1): ユーザ認証が試行される証明書に一致する秘密鍵の検索での
   debug メッセージを修正する. 以前は, 証明書のパスを表示するはずが
   秘密鍵のパスを表示していた. GHPR#247

 * sshd(8): match host certificates against host public keys, not
   private keys. Allows use of certificates with private keys held in
   a ssh-agent.  bz#3524
   
   sshd(8): ホスト秘密鍵ではなくホスト公開鍵に対してホスト証明書を一致させる.
   ssh-agent 中に保持される秘密鍵付きの証明書の利用を可能にする.
   bz#3524

 * ssh(1): add a workaround for a bug in OpenSSH 7.4 sshd(8), which
   allows RSA/SHA2 signatures for public key authentication but fails
   to advertise this correctly via SSH2_MSG_EXT_INFO. This causes
   clients of these server to incorrectly match
   PubkeyAcceptedAlgorithmse and potentially refuse to offer valid
   keys. bz#3213

   ssh(1): OpenSSH 7.4 sshd(8) のバグに対する回避策を追加する.
   OpenSSH 7.4 sshd(8) は RSA/SHA2 署名を公開鍵認証で許可するが, 
   SSH2_MSG_EXT_INFO でこれを正しく広告するのに失敗する.
   これらのサーバのクライアントに対し PubkeyAcceptedAlgorithms を不正に
   一致させ, 潜在的に正当な鍵の提供を拒否する事態を起こす.

 * sftp(1)/scp(1): degrade gracefully if a sftp-server offers the
   limits@openssh.com extension but fails when the client tries to
   invoke it. bz#3318

   sftp(1)/scp(1): sftp-server が limits@openssh.com 拡張を提供するが
   クライアントがその起動に失敗した場合に慈悲深く拡張を無効にする.
   bz#3318

 * ssh(1): allow ssh_config SetEnv to override $TERM, which is
   otherwise handled specially by the protocol. Useful in ~/.ssh/config
   to set TERM to something generic (e.g. "xterm" instead of
   "xterm-256color") for destinations that lack terminfo entries.

   ssh(1): ssh_config の SetEnv が $TERM の上書きを可能にする.
   これはプロトコルでは特別に処理される. terminfo エントリが欠けている
   接続先に対して TERM をなにか一般的なもの (例えば "xterm-256color"
   の代わりに "xterm") に ~/.ssh/config で設定するのに便利だ.

 * sftp-server(8): the limits@openssh.com extension was incorrectly
   marked as an operation that writes to the filesystem, which made it
   unavailable in sftp-server read-only mode. bz#3318

   sftp-server(8): limits@openssh.com 拡張がファイルシステムへの書き込みをする
   操作で不正にマークされていて, sftp-server を読み取り専用モードで
   利用できなくなっていた. bz#3318

 * ssh(1): fix SEGV in UpdateHostkeys debug() message, triggered when
   the update removed more host keys than remain present.

   ssh(1): UpdateHostkeys debug() メッセージでの SEGV を修正する.
   現在保持しているホスト鍵以上のホスト鍵を削除する更新によって引き起こされる.

 * many manual page fixes.

   多くのマニュアルページを修正する.

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

移植性

 * ssh(1): move closefrom() to before first malloc. When built against
   tcmalloc, the closefrom() would stomp on file descriptors created
   for tcmalloc's internal use. bz#3321

   ssh(1): 最初の malloc の前に closefrom() を移す. tcmalloc に対して
   ビルドされた場合, tcmalloc の内部利用のために用いられる ファイル
   デスクイプタを closefrom は 利用してしまう. bz#3321

 * sshd(8): handle GIDs > 2^31 in getgrouplist. When compiled in 32bit
   mode, the getgrouplist implementation may fail for GIDs greater than
   LONG_MAX.

   sshd(8): getgrouplist で 2^31 を越える GID を処理する. 32 ビットモード
   でコンパイルされると getgrouplist の実装は LONG_MAX を越える
   GID で失敗する.

 * ssh(1): xstrdup environment variable used by ForwardAgent. bz#3328

   ssh(1): ForwardAgent で利用される環境変数を xstrdup する bz#3328

 * sshd(8): don't sigdie() in signal handler in privsep child process;
   this can end up causing sandbox violations per bz3286

   sshd(8): 特権分離された子プロセル内のシグナルハンドラで sigdie() しない;
   これは bz3286 によるとサンドボックの破壊を引き起す可能性がある.

OpenSSH 8.6 がリリースされました

19 Apr, 2021 - 5 minutes

2021/04/19, OpenSSH 8.6 がリリースされました.

主にバグ修正のリリースですが, 実際に利用される蓋然性が非常に少ないセキュリティの問題への対応があります.

OpenSSH 8.5 がリリースされました

3 Mar, 2021 - 10 minutes

2021/03/03, OpenSSH 8.5 がリリースされました.

https://www.openssh.com/txt/release-8.5

Future deprecation notice
=========================

将来廃止される機能の告知

It is now possible[1] to perform chosen-prefix attacks against the
SHA-1 algorithm for less than USD$50K.

USドル 50K より少ない金額で SHA-1 アルゴリズムに対する選択プレフィックス
攻撃が実行できることが [1] で示されている. 

In the SSH protocol, the "ssh-rsa" signature scheme uses the SHA-1
hash algorithm in conjunction with the RSA public key algorithm.
OpenSSH will disable this signature scheme by default in the near
future.

SSH プロトコルで, "ssh-rsa" 署名スキームは, RSA 公開鍵アルゴリズムと共に
SHA-1 ハッシュアルゴリズムを利用している. OpenSSH は近い将来
デフォルトでこの署名スキームを無効にする予定だ.

Note that the deactivation of "ssh-rsa" signatures does not necessarily
require cessation of use for RSA keys. In the SSH protocol, keys may be
capable of signing using multiple algorithms. In particular, "ssh-rsa"
keys are capable of signing using "rsa-sha2-256" (RSA/SHA256),
"rsa-sha2-512" (RSA/SHA512) and "ssh-rsa" (RSA/SHA1). Only the last of
these is being turned off by default.

"ssh-rsa" 署名の無効化は RSA 鍵の利用の停止を必ずしも必要としない
ことに注意. SSH プロトコルでは, 鍵は複数のアルゴリズムを用いて署名に利用
できる. 特に "ssh-rsa" 鍵は, "rsa-sha2-256" (RSA/SHA256) と
"rsa-sha2-512" (RSA/SHA512),  "ssh-rsa" (RSA/SHA1) を用いて署名可能だ.
最後のものだけがデフォルトで無効になる予定だ.

This algorithm is unfortunately still used widely despite the
existence of better alternatives, being the only remaining public key
signature algorithm specified by the original SSH RFCs that is still
enabled by default.

このアルコリズムは, よりよい代替があるにもかかわらず
もともとの SSH RFC で定義された公開鍵署名アルゴリズムのの中で
ただ 1 つ残ったアルゴリズムとして,
不幸なことにいまだ広く用いられている.

The better alternatives include:

次に示すものがよりよい代替だ:

 * The RFC8332 RSA SHA-2 signature algorithms rsa-sha2-256/512. These
   algorithms have the advantage of using the same key type as
   "ssh-rsa" but use the safe SHA-2 hash algorithms. These have been
   supported since OpenSSH 7.2 and are already used by default if the
   client and server support them.

   RFC8332 の RSA SHA-2 署名アルゴリズム rsa-sha-256/512.
   これらのアルゴリズムは "ssh-rsa" と同じ鍵タイプを用いる利点があり
   安全な SHA-2 ハッシュアルゴリズムを用いている. これらは
   OpenSSH 7.2 以降でサポートされており, クライアントとサーバが
   サポートしているならすでにデフォルトで用いられている.

 * The RFC8709 ssh-ed25519 signature algorithm. It has been supported
   in OpenSSH since release 6.5.

   ssh-ed25519 署名アルゴリズム. OpenSSH 6.5 以降でサポートされている.

 * The RFC5656 ECDSA algorithms: ecdsa-sha2-nistp256/384/521. These
   have been supported by OpenSSH since release 5.7.

   RFC5656 の ECDSA アルゴリズム: ecdsa-sha2-nistp256/384/521. These
   これらは OpenSSH 5.7 以降でサポートされている.

To check whether a server is using the weak ssh-rsa public key
algorithm, for host authentication, try to connect to it after
removing the ssh-rsa algorithm from ssh(1)'s allowed list:

サーバが, ホストの認証のために, 弱い ssh-rsa 公開鍵アルゴリズムを
利用しているか検査するには, ssh(1) の許可リストから ssh-rsa
アルゴリズムを除いたあとで接続を試行すればよい.

    ssh -oHostKeyAlgorithms=-ssh-rsa user@host

If the host key verification fails and no other supported host key
types are available, the server software on that host should be
upgraded.

ホスト鍵検証が失敗し他にサポートされたホスト鍵の種類がない場合,
ホストのサーバソフトウェアをアップグレードする必要がある.

This release enables the UpdateHostKeys option by default to assist
the client by automatically migrating to better algorithms.

このリリースで, クライアントがよりよいアルゴリズムに
自動的に移行できるようにする UpdateHostKeys 設定項目をデフォルトで有効にする.

[1] "SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA-1 and
    Application to the PGP Web of Trust" Leurent, G and Peyrin, T
    (2020) https://eprint.iacr.org/2020/014.pdf

Security
========

セキュリティ

 * ssh-agent(1): fixed a double-free memory corruption that was
   introduced in OpenSSH 8.2 . We treat all such memory faults as
   potentially exploitable. This bug could be reached by an attacker
   with access to the agent socket.

   ssh-agent(1): OpenSSH 8.2 で導入されてしまった double-free メモリ
   破壊を修正した. 我々はこのようなメモリの問題はすべて潜在的に
   悪用可能として取り扱う. このバグは, エージェントのソケット
   を通じて攻撃者が到達可能だった.

   On modern operating systems where the OS can provide information
   about the user identity connected to a socket, OpenSSH ssh-agent
   and sshd limit agent socket access only to the originating user
   and root. Additional mitigation may be afforded by the system's
   malloc(3)/free(3) implementation, if it detects double-free
   conditions.

   現代的なオペレーティングシステムでは, OS はソケットに接続するための
   ユーザ識別についての情報を提供する. OpenSSH ssh-agent と sshd は
   エージェントのソケットへのアクセスは, 元々のユーザと root のみに
   制限されている. システムの malloc(3)/free(3) の実装が
   double-free の状況を検知するならば, 
   追加の緩和策が存在する場合がある.

   The most likely scenario for exploitation is a user forwarding an
   agent either to an account shared with a malicious user or to a
   host with an attacker holding root access.

   もっともありそうな悪用のシナリオは, 
   悪意のあるユーザと共有しているアカウントや root アクセスを
   持つ攻撃者のホストにエージェントをユーザが転送する場合だ.

 * Portable sshd(8): Prevent excessively long username going to PAM.
   This is a mitigation for a buffer overflow in Solaris' PAM username
   handling (CVE-2020-14871), and is only enabled for Sun-derived PAM
   implementations.  This is not a problem in sshd itself, it only
   prevents sshd from being used as a vector to attack Solaris' PAM.
   It does not prevent the bug in PAM from being exploited via some
   other PAM application. GHPR#212


   移植版 sshd(8): 長すぎるユーザ名を PAM に送るのを防ぐ.
   これは, Solaris の PAM ユーザ名の扱いでのバッファオーバーフロー
   (CVE-2020-14871) に対する緩和策で, Sun 由来の PAM 実装に対してのみ
   有効化される. sshd 自身の問題ではなく, Solaris の PAM への攻撃
   ベクターとして sshd が使われるのを防ぐだけだ. 他の PAM アプリケーション
   によって PAM のバグが悪用されるのを防がない. GHPR#212

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響する可能性のある変更をいくつか含んでいる.

 * ssh(1), sshd(8): this release changes the first-preference signature
   algorithm from ECDSA to ED25519.

   ssh(1), sshd(8): このリリースで, 最優先の署名アルゴリズムが
   ECDSA から ED25519 に変更する.

 * ssh(1), sshd(8): set the TOS/DSCP specified in the configuration
   for interactive use prior to TCP connect. The connection phase of
   the SSH session is time-sensitive and often explicitly interactive.
   The ultimate interactive/bulk TOS/DSCP will be set after
   authentication completes.

   ssh(1), sshd(8): TCP での接続の前に対話的な利用に対して設定で
   指定された TOS/DSCP を設定する. SSH のセッションの接続フェーズは
   時間に敏感で, しばしば明示的に対話的になる. 最終的な対話的/バルクの
   TOS/DSCP は, 認証の完了後に設定せれる.

 * ssh(1), sshd(8): remove the pre-standardization cipher
   rijndael-cbc@lysator.liu.se. It is an alias for aes256-cbc before
   it was standardized in RFC4253 (2006), has been deprecated and
   disabled by default since OpenSSH 7.2 (2016) and was only briefly
   documented in ssh.1 in 2001.

   ssh(1), sshd(8): 標準化前の暗号 rijndael-cbc@lysator.liu.se
   を削除する. これは, RFC4253 (2006) で標準化される前の aes256-cbc
   のエイリアスで, OpenSSH 7.2 (2016) からデフォルトで非推奨となり
   無効化され, 2001 年の ssh.1 で簡単にだけ文書化されている.

 * ssh(1), sshd(8): update/replace the experimental post-quantum
   hybrid key exchange method based on Streamlined NTRU Prime coupled
   with X25519.

   ssh(1), sshd(8): X25519 と組合せた Streamlined NTRU Prime を基にする
   実験的な量子化後ハイブリッド鍵交換法を更新/交換する.

   The previous sntrup4591761x25519-sha512@tinyssh.org method is
   replaced with sntrup761x25519-sha512@openssh.com. Per its
   designers, the sntrup4591761 algorithm was superseded almost two
   years ago by sntrup761.

   以前の sntrup4591761x25519-sha512@tinyssh.org は
   sntrup761x25519-sha512@openssh.com. に交換される. 設計者によれば
   sntrup4591761 アルゴリズムは, sntrup761 により約 2 年前に
   置き換えられた.

   (note this both the updated method and the one that it replaced are
   disabled by default)

   (更新された方法も置き換えられた方法もデフォルトでは無効なことに注意)

 * ssh(1): disable CheckHostIP by default. It provides insignificant
   benefits while making key rotation significantly more difficult,
   especially for hosts behind IP-based load-balancers.

   ssh(1): CheckHostIP をデフォルトで無効化する.
   ささいな利益を提供するが, 特に IP ベースのロードバランサーの背後にある
   ホストに対して, 鍵のローテーションをかなり難しくする.

Changes since OpenSSH 8.4
=========================

OpenSSH 8.4 からの変更点

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

新機能

 * ssh(1): this release enables UpdateHostkeys by default subject to
   some conservative preconditions:
    - The key was matched in the UserKnownHostsFile (and not in the
      GlobalKnownHostsFile).
    - The same key does not exist under another name.
    - A certificate host key is not in use.
    - known_hosts contains no matching wildcard hostname pattern.
    - VerifyHostKeyDNS is not enabled.
    - The default UserKnownHostsFile is in use.

   ssh(1): 次の保守的な事前条件の元で, このリリースは UpdateHostkeys を
   デフォルトで有効にする.
    - UserKnownHostsFile で鍵が一致する (また, GlobalKnownHostsFile では一致しない)
    - 別の名前で同じ鍵が存在しない
    - 証明書ホスト鍵を利用中ではない
    - known_hosts に一致するワイルドカードホスト名パターンを含まない
    - VerifyHostKeyDNS が有効ではない
    - デフォルトの UserKnownHostsFile が利用中.

   We expect some of these conditions will be modified or relaxed in
   future.

   条件のうちのいくつかを将来変更されたり緩和される可能性がある.

 * ssh(1), sshd(8): add a new LogVerbose configuration directive for
   that allows forcing maximum debug logging by file/function/line
   pattern-lists.

   ssh(1), sshd(8): ファイル/関数/行 パターンリストに基づく
   最大のデバッグロギングを強制することを可能にする, 新しい
   LogVerbose 設定項目を追加する.

 * ssh(1): when prompting the user to accept a new hostkey, display
   any other host names/addresses already associated with the key.

   ssh(1): 新しいホスト鍵の受け入れをユーザに指示する際,
   その鍵にすでに紐づいている他のホスト名/アドレスを表示する.

 * ssh(1): allow UserKnownHostsFile=none to indicate that no
   known_hosts file should be used to identify host keys.

   ssh(1): ホスト鍵を識別するのに known_hosts ファイルを利用する
   必要がないことを指定する UserKnownHostsFile=none という指定を
   可能とする.

 * ssh(1): add a ssh_config KnownHostsCommand option that allows the
   client to obtain known_hosts data from a command in addition to
   the usual files.

   ssh(1): ssh_config に KnownHostsCommand 設定項目 を追加する.
   クライアントは, 通常のファイルに加えて,
   コマンドから known_hosts のデータを得られるようになる.

 * ssh(1): add a ssh_config PermitRemoteOpen option that allows the
   client to restrict the destination when RemoteForward is used
   with SOCKS.

   ssh(1): ssh_config に PermitRemoteOpen 設定項目を追加する.
   クライアントは, RemoteForward が SOCKS と共に利用された際に
   送信先を制限できるようになる.

 * ssh(1): for FIDO keys, if a signature operation fails with a
   "incorrect PIN" reason and no PIN was initially requested from the
   user, then request a PIN and retry the operation. This supports
   some biometric devices that fall back to requiring PIN when reading
   of the biometric failed, and devices that require PINs for all
   hosted credentials.

   ssh(1): FIDO の鍵に対して, "間違った PIN" の理由で署名操作が
   失敗し, ユーザから最初に PIN が要求されない場合, PIN を要求し
   操作をリトライする. これは, 生体情報の読み取りに失敗した場合に
   PIN の要求にフォールバックする生体デバイスや, すべての所有
   認証情報に対して PIN を要求するデバイスをサポートする.

 * sshd(8): implement client address-based rate-limiting via new
   sshd_config(5) PerSourceMaxStartups and PerSourceNetBlockSize
   directives that provide more fine-grained control on a per-origin
   address basis than the global MaxStartups limit.


   sshd(8): グローバルな MaxStartups の制限よりも origin 単位の
   アドレスを基にした細かな制御ができる
   新しい sshd_config(5) の PerSourceMaxStartups と
   PerSourceNetBlockSize 設定項目による クライアントのアドレス
   に基づく帯域制限を実装する.

Bugfixes
--------

バグ修正

 * ssh(1): Prefix keyboard interactive prompts with "(user@host)" to
   make it easier to determine which connection they are associated
   with in cases like scp -3, ProxyJump, etc. bz#3224

   ssh(1): scp -3 や ProxyJump のような場合にどの接続に関連づけられている
   かより容易に判断できるように "(user@host)" をキーボード
   インタラクティブなプロンプトに前置する. bz#3224

 * sshd(8): fix sshd_config SetEnv directives located inside Match
   blocks. GHPR#201

   sshd(8): Match ブロック内に配置された sshd_config SetEnv 設定項目
   を修正する. GHPR#201

 * ssh(1): when requesting a FIDO token touch on stderr, inform the
   user once the touch has been recorded.

   標準エラー出力に FIDO トークンの接触を要求する際, 接触が記録されたら
   ユーザに通知する.

 * ssh(1): prevent integer overflow when ridiculously large
   ConnectTimeout values are specified, capping the effective value
   (for most platforms) at 24 days. bz#3229

   ssh(1): バカに大きな ConnectTimeout が指定された場合の 整数
   オーバーフローを防止し, (多くのプラットフォームで) 実効値を
   24 日に制限する. bz#3229

 * ssh(1): consider the ECDSA key subtype when ordering host key
   algorithms in the client.

   ssh(1): クライアントでホスト鍵のアルゴリズムを整列する際に 
   ECDSA 鍵のサブタイプを考慮する.

 * ssh(1), sshd(8): rename the PubkeyAcceptedKeyTypes keyword to
   PubkeyAcceptedAlgorithms. The previous name incorrectly suggested
   that it control allowed key algorithms, when this option actually
   specifies the signature algorithms that are accepted. The previous
   name remains available as an alias. bz#3253

   ssh(1), sshd(8): PubkeyAcceptedKeyTypes 設定項目を PubkeyAcceptedAlgorithms
   に改名する. 以前の名前は 許可される鍵アルゴリズムを制御するかのように
   間違った示唆を与えていた. この設定項目は 受けつける署名アルゴリズムを
   実際には指定する. 以前の名前もエイリアスとして利用可能のままだ.
   bz#3253

 * ssh(1), sshd(8): similarly, rename HostbasedKeyTypes (ssh) and
   HostbasedAcceptedKeyTypes (sshd) to HostbasedAcceptedAlgorithms.

   ssh(1), sshd(8): 同様に (ssh の) HostbasedKeyTypes と (sshd の)
   HostbasedAcceptedKeyTypes も HostbasedAcceptedAlgorithms に改名する.

 * sftp-server(8): add missing lsetstat@openssh.com documentation
   and advertisement in the server's SSH2_FXP_VERSION hello packet.

   sftp-server(8): 存在していなかった lsetstat@openssh.com 文書と
   サーバの SSH2_FXP_VERSION ハローパケットでの広告を追加する.

 * ssh(1), sshd(8): more strictly enforce KEX state-machine by
   banning packet types once they are received. Fixes memleak caused
   by duplicate SSH2_MSG_KEX_DH_GEX_REQUEST (oss-fuzz #30078).

   ssh(1), sshd(8): 一度受信したパケットの種類を禁止して,
   鍵交換状態マシンをより厳格に実行する. 重複した SSH2_MSG_KEX_DH_GEX_REQUEST
   によって起こるメモリリークを修正する (oss-fuzz #30078)

 * sftp(1): allow the full range of UIDs/GIDs for chown/chgrp on 32bit
   platforms instead of being limited by LONG_MAX. bz#3206

   sftp(1): 32ビットプラットフォームでの chown/chgrp の UID/GID に
   LONG_MAX での制限の代わりに全範囲を指定できるようにする.

 * Minor man page fixes (capitalization, commas, etc.) bz#3223

   マニュアルページのちょっとした修正 (大文字, カンマなど) bz#3223

 * sftp(1): when doing an sftp recursive upload or download of a
   read-only directory, ensure that the directory is created with
   write and execute permissions in the interim so that the transfer
   can actually complete, then set the directory permission as the
   final step. bz#3222

   sftp(1): 読み取り専用のディレクトリの sftp の再帰的なアップロード
   ないしダウンロードの際に, 転送中はディレクトリが書き込みと実行権限付きで
   作成され, 転送が実際に終了してから最終段階でディレクトリの権限が
   設定されることを保証する. bz#3222

 * ssh-keygen(1): document the -Z, check the validity of its argument
   earlier and provide a better error message if it's not correct.
   bz#2879

   ssh-keygen(1): -Z オプションを文書化し, その引数の有効性を事前にチェックし,
   もし正しくなければよりよいエラーメッセージを提供する. bz#2879

 * ssh(1): ignore comments at the end of config lines in ssh_config,
   similar to what we already do for sshd_config. bz#2320

   ssh(1): sshd_config ですでに同様にしているように,
   ssh_config の設定行の末尾のコメントを無視する. bz#2320

 * sshd_config(5): mention that DisableForwarding is valid in a
   sshd_config Match block. bz3239

   sshd_config(5): sshd_config の Match ブロック内での DisableForwarding
   が有効だと言及する. bz3239

 * sftp(1): fix incorrect sorting of "ls -ltr" under some
   circumstances. bz3248.

   sftp(1): いくつかの環境での "ls -ltr" の正しくないソートを
   修正する. bz3248.

 * ssh(1), sshd(8): fix potential integer truncation of (unlikely)
   timeout values. bz#3250

   ssh(1), sshd(8): (ありそうもない) タイムアウト値の潜在的な整数切り捨て
   を修正する. bz#3250

 * ssh(1): make hostbased authentication send the signature algorithm
   in its SSH2_MSG_USERAUTH_REQUEST packets instead of the key type.
   This make HostbasedAcceptedAlgorithms do what it is supposed to -
   filter on signature algorithm and not key type.

   ssh(1): ホストベースの認証で, 鍵の種類の変りに SSH2_MSG_USERAUTH_REQUEST で
   署名のアルゴリズムを送信するようにする. HostbasedAcceptedAlgorithms が
   鍵の種類ではなく署名のアルゴリズムでフィルタリングするという
   あるべき動作をするようになる.

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

移植性

 * sshd(8): add a number of platform-specific syscalls to the Linux
   seccomp-bpf sandbox. bz#3232 bz#3260

   sshd(8): Linux seccomp-bpf サンドボックスのプラットフォーム特有の
   システムコールをいろいろと追加する. bz#3232 bz#3260

 * sshd(8): remove debug message from sigchld handler that could cause
   deadlock on some platforms. bz#3259

   sshd(8): いくつかのプラットフォームでデッドロックを引き起す可能性のあった
   sigchld ハンドラからのデバッグメッセージを除去する. bz#3259

 * Sync contrib/ssh-copy-id with upstream.

   contrib/ssh-copy-id を上流と同期する.

 * unittests: add a hostname function for systems that don't have it.
   Some systems don't have a hostname command (it's not required by
   POSIX). The do have uname -n (which is), but not all of those have
   it report the FQDN.

   単体テスト: システムが持っていない場合 hostname 関数を追加する.
   いくつかのシステムでは, hostname コマンドを持っておらず 
   (POSIZ で要求されていない), (要求されている )uname -n はあるが, 
   すべてのシステムで FQDN をレポートするわけではない.

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

23 Feb, 2021 - 7 minutes

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

Call for testing: OpenSSH 8.5

Security
========

セキュリティ

 * Portable sshd(8): Prevent excessively long username going to PAM.

   移植版 sshd(8): 長すぎるユーザ名を PAM に送るのを防ぐ.

   This is a mitigation for a buffer overflow in Solaris' PAM username
   handling (CVE-2020-14871), and is only enabled for Sun-derived PAM
   implementations.  This is not a problem in sshd itself, it only
   prevents sshd from being used as a vector to attack Solaris' PAM.
   It does not prevent the bug in PAM from being exploited via some
   other PAM application. GHPR#212

   これは, Solaris の PAM ユーザ名の扱いでのバッファオーバーフロー
   (CVE-2020-14871) に対する緩和策で, Sun 由来の PAM 実装に対してのみ
   有効化される. sshd 自身の問題ではなく, Solaris の PAM への攻撃
   ベクターとして sshd が使われるのを防ぐだけだ. 他の PAM アプリケーション
   によって PAM のバグが悪用されるのを防がない. GHPR#212

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響する可能性のある変更をいくつか含んでいる.

 * ssh(1), sshd(8): this release changes the first-preference signature
   algorithm from ECDSA to ED25519.

   ssh(1), sshd(8): このリリースで, 最優先の署名アルゴリズムが
   ECDSA から ED25519 に変更する.

 * ssh(1), sshd(8): set the TOS/DSCP specified in the configuration
   for interactive use prior to TCP connect. The connection phase of
   the SSH session is time-sensitive and often explicitly interactive.
   The ultimate interactive/bulk TOS/DSCP will be set after
   authentication completes.

   ssh(1), sshd(8): TCP での接続の前に対話的な利用に対して設定で
   指定された TOS/DSCP を設定する. SSH のセッションの接続フェーズは
   時間に敏感で, しばしば明示的に対話的になる. 最終的な対話的/バルクの
   TOS/DSCP は, 認証の完了後に設定せれる.

 * ssh(1), sshd(8): remove the pre-standardization cipher
   rijndael-cbc@lysator.liu.se. It is an alias for aes256-cbc before
   it was standardized in RFC4253 (2006), has been deprecated and
   disabled by default since OpenSSH 7.2 (2016) and was only briefly
   documented in ssh.1 in 2001.

   ssh(1), sshd(8): 標準化前の暗号 rijndael-cbc@lysator.liu.se
   を削除する. これは, RFC4253 (2006) で標準化される前の aes256-cbc
   のエイリアスで, OpenSSH 7.2 (2016) からデフォルトで非推奨となり
   無効化され, 2001 年の ssh.1 で簡単にだけ文書化されている.

 * ssh(1), sshd(8): update/replace the experimental post-quantum
   hybrid key exchange method based on Streamlined NTRU Prime coupled
   with X25519.

   ssh(1), sshd(8): X25519 と組合せた Streamlined NTRU Prime を基にする
   実験的な量子化後ハイブリッド鍵交換法を更新/交換する.

   The previous sntrup4591761x25519-sha512@tinyssh.org method is
   replaced with sntrup761x25519-sha512@openssh.com. Per its
   designers, the sntrup4591761 algorithm was superseded almost two
   years ago by sntrup761.

   以前の sntrup4591761x25519-sha512@tinyssh.org は
   sntrup761x25519-sha512@openssh.com. に交換される. 設計者によれば
   sntrup4591761 アルゴリズムは, sntrup761 により約 2 年前に
   置き換えられた.

   (note this both the updated method and the one that it replaced are
   disabled by default)

   (更新された方法も置き換えられた方法もデフォルトでは無効なことに注意)

 * ssh(1): disable CheckHostIP by default. It provides insignificant
   benefits while making key rotation significantly more difficult,
   especially for hosts behind IP-based load-balancers.

   ssh(1): CheckHostIP をデフォルトで無効化する.
   ささいな利益を提供するが, 特に IP ベースのロードバランサーの背後にある
   ホストに対して, 鍵のローテーションをかなり難しくする.

Changes since OpenSSH 8.4
=========================

OpenSSH 8.4 からの変更点

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

新機能

 * ssh(1): this release enables UpdateHostkeys by default subject to
   some conservative preconditions:
    - The key was matched in the UserKnownHostsFile (and not in the
      GlobalKnownHostsFile).
    - The same key does not exist under another name.
    - A certificate host key is not in use.
    - known_hosts contains no matching wildcard hostname pattern.
    - VerifyHostKeyDNS is not enabled.

   ssh(1): 次の保守的な事前条件の元で, このリリースは UpdateHostkeys を
   デフォルトで有効にする.
    - UserKnownHostsFile で鍵が一致する (また, GlobalKnownHostsFile では一致しない)
    - 別の名前で同じ鍵が存在しない
    - 証明書ホスト鍵を利用中ではない
    - known_hosts に一致するワイルドカードホスト名パターンを含まない
    - VerifyHostKeyDNS が有効ではない

   We expect some of these conditions will be modified or relaxed in
   future.

   条件のうちのいくつかを将来変更されたり緩和される可能性がある.

 * ssh(1), sshd(8): add a new LogVerbose configuration directive for
   that allows forcing maximum debug logging by file/function/line
   pattern-lists.

   ssh(1), sshd(8): ファイル/関数/行 パターンリストに基づく
   最大のデバッグロギングを強制することを可能にする, 新しい
   LogVerbose 設定項目を追加する.

 * ssh(1): when prompting the user to accept a new hostkey, display
   any other host names/addresses already associated with the key.

   ssh(1): 新しいホスト鍵の受け入れをユーザに指示する際,
   その鍵にすでに紐づいている他のホスト名/アドレスを表示する.

 * ssh(1): allow UserKnownHostsFile=none to indicate that no
   known_hosts file should be used to identify host keys.

   ssh(1): ホスト鍵を識別するのに known_hosts ファイルを利用する
   必要がないことを指定する UserKnownHostsFile=none という指定を
   可能とする.

 * ssh(1): add a ssh_config KnownHostsCommand that allows the client
   to obtain known_hosts data from a command in addition to the usual
   files.

   ssh(1): ssh_config で KnownHostsCommand 設定項目 を追加する.
   クライアントは, 通常のファイルに加えて,
   コマンドから known_hosts のデータを得られるようになる.

 * ssh(1): for FIDO keys, if a signature operation fails with a
   "incorrect PIN" reason and no PIN was initially requested from the
   user, then request a PIN and retry the operation. This supports
   some biometric devices that fall back to requiring PIN when reading
   of the biometric failed, and devices that require PINs for all
   hosted credentials.

   ssh(1): FIDO の鍵に対して, "間違った PIN" の理由で署名操作が
   失敗し, ユーザから最初に PIN が要求されない場合, PIN を要求し
   操作をリトライする. これは, 生体情報の読み取りに失敗した場合に
   PIN の要求にフォールバックする生体デバイスや, すべての所有
   認証情報に対して PIN を要求するデバイスをサポートする.

 * sshd(8): implement client address-based rate-limiting via new
   sshd_config(5) PerSourceMaxStartups and PerSourceNetBlockSize
   directives that fine-grained control than the global MaxStartups
   limit.

   sshd(8): グローバルな MaxStartups よりも細かな制御ができる
   新しい sshd_config(5) の PerSourceMaxStartups と
   PerSourceNetBlockSize 設定項目による クライアントのアドレス
   に基づく帯域制限を実装する.

Bugfixes
--------

バグ修正

 * ssh(1): Prefix keyboard interactive prompts with "(user@host)" to
   make it easier to determine which connection they are associated
   with in cases like scp -3, ProxyJump, etc. bz#3224

   ssh(1): scp -3 や ProxyJump のような場合にどの接続に関連づけられている
   かより容易に判断できるように "(user@host)" をキーボード
   インタラクティブなプロンプトに前置する. bz#3224

 * sshd(8): fix sshd_config SetEnv directives located inside Match
   blocks. GHPR#201

   sshd(8): Match ブロック内に配置された sshd_config SetEnv 設定項目
   を修正する. GHPR#201

 * ssh(1): when requesting a FIDO token touch on stderr, inform the
   user once the touch has been recorded.

   標準エラー出力に FIDO トークンの接触を要求する際, 接触が記録されたら
   ユーザに通知する.

 * ssh(1): prevent integer overflow when ridiculously large
   ConnectTimeout values are specified, capping the effective value
   (for most platforms) at 24 days. bz#3229

   ssh(1): バカに大きな ConnectTimeout が指定された場合の 整数
   オーバーフローを防止し, (多くのプラットフォームで) 実効値を
   24 日に制限する. bz#3229

 * ssh(1): consider the ECDSA key subtype when ordering host key
   algorithms in the client,

   ssh(1): クライアントでホスト鍵のアルゴリズムを整列する際に 
   ECDSA 鍵のサブタイプを考慮する.

 * ssh(1), sshd(8): rename the PubkeyAcceptedKeyTypes keyword to
   PubkeyAcceptedAlgorithms. The previous name incorrectly suggested
   that it control allowed key algorithms, when this option actually
   specifies the signature algorithms that are accepted. The previous
   name remains available as an alias. bz#3253

   ssh(1), sshd(8): PubkeyAcceptedKeyTypes 設定項目を PubkeyAcceptedAlgorithms
   に改名する. 以前の名前は 許可される鍵アルゴリズムを制御するかのように
   間違った示唆を与えていた. この設定項目は 受けつける署名アルゴリズムを
   実際には指定する. 以前の名前もエイリアスとして利用可能のままだ.
   bz#3253

 * ssh(1), sshd(8): similarly, rename HostbasedKeyTypes (ssh) and
   HostbasedAcceptedKeyTypes (sshd) to HostbasedAcceptedAlgorithms.

   ssh(1), sshd(8): 同様に (ssh の) HostbasedKeyTypes と (sshd の)
   HostbasedAcceptedKeyTypes も HostbasedAcceptedAlgorithms に改名する.

 * sftp-server(8): add missing lsetstat@openssh.com documentation
   and advertisement in the server's SSH2_FXP_VERSION hello packet.

   sftp-server(8): 存在していなかった lsetstat@openssh.com 文書と
   サーバの SSH2_FXP_VERSION ハローパケットでの広告を追加する.

 * ssh(1), sshd(8): more strictly enforce KEX state-machine by
   banning packet types once they are received. Fixes memleak caused
   by duplicate SSH2_MSG_KEX_DH_GEX_REQUEST (oss-fuzz #30078).

   ssh(1), sshd(8): 一度受信したパケットの種類を禁止して,
   鍵交換状態マシンをより厳格に実行する. 重複した SSH2_MSG_KEX_DH_GEX_REQUEST
   によって起こるメモリリークを修正する (oss-fuzz #30078)

 * sftp(1): allow the full range of UIDs/GIDs for chown/chgrp on 32bit
   platforms instead of being limited by LONG_MAX. bz#3206

   sftp(1): 32ビットプラットフォームでの chown/chgrp の UID/GID に
   LONG_MAX での制限の代わりに全範囲を指定できるようにする.

 * Minor man page fixes (capitalization, commas, etc.) bz#3223

   マニュアルページのちょっとした修正 (大文字, カンマなど) bz#3223

 * sftp(1): when doing an sftp recursive upload or download of a
   read-only directory, ensure that the directory is created with
   write and execute permissions in the interim so that the transfer
   can actually complete, then set the directory permission as the
   final step. bz#3222

   sftp(1): 読み取り専用のディレクトリの sftp の再帰的なアップロード
   ないしダウンロードの際に, 転送中はディレクトリが書き込みと実行権限付きで
   作成され, 転送が実際に終了してから最終段階でディレクトリの権限が
   設定されることを保証する. bz#3222

 * ssh-keygen(1): document the -Z, check the validity of its argument
   earlier and provide a better error message if it's not correct.
   bz#2879

   ssh-keygen(1): -Z オプションを文書化し, その引数の有効性を事前にチェックし,
   もし正しくなければよりよいエラーメッセージを提供する. bz#2879

 * ssh(1): ignore comments at the end of config lines in ssh_config,
   similar to what we already do for sshd_config. bz#2320

   ssh(1): sshd_config ですでに同様にしているように,
   ssh_config の設定行の末尾のコメントを無視する. bz#2320

 * sshd_config(5): mention that DisableForwarding is valid in a
   sshd_config Match block. bz3239

   sshd_config(5): sshd_config の Match ブロック内での DisableForwarding
   が有効だと言及する. bz3239

 * sftp(1): fix incorrect sorting of "ls -ltr" under some
   circumstances. bz3248.

   sftp(1): いくつかの環境での "ls -ltr" の正しくないソートを
   修正する. bz3248.

 * ssh(1), sshd(8): fix potential integer truncation of (unlikely)
   timeout values. bz#3250

   ssh(1), sshd(8): (ありそうもない) タイムアウト値の潜在的な整数切り捨て
   を修正する. bz#3250

 * ssh(1): make hostbased authentication send the signature algorithm
   in its SSH2_MSG_USERAUTH_REQUEST packets instead of the key type.
   This make HostbasedAcceptedAlgorithms do what it is supposed to -
   filter on signature algorithm and not key type.

   ssh(1): ホストベースの認証で, 鍵の種類の変りに SSH2_MSG_USERAUTH_REQUEST で
   署名のアルゴリズムを送信するようにする. HostbasedAcceptedAlgorithms が
   鍵の種類ではなく署名のアルゴリズムでフィルタリングするという
   あるべき動作をするようになる.

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

移植性

 * sshd(8): add a number of platform-specific syscalls to the Linux
   seccomp-bpf sandbox. bz#3232 bz#3260

   sshd(8): Linux seccomp-bpf サンドボックスのプラットフォーム特有の
   システムコールをいろいろと追加する. bz#3232 bz#3260

 * sshd(8): remove debug message from sigchld handler that could cause
   deadlock on some platforms. bz#3259

   sshd(8): いくつかのプラットフォームでデッドロックを引き起す可能性のあった
   sigchld ハンドラからのデバッグメッセージを除去する. bz#3259

 * Sync contrib/ssh-copy-id with upstream.

   contrib/ssh-copy-id を上流と同期する.

 * unittests: add a hostname function for systems that don't have it.
   Some systems don't have a hostname command (it's not required by
   POSIX). The do have uname -n (which is), but not all of those have
   it report the FQDN.

   単体テスト: システムが持っていない場合 hostname 関数を追加する.
   いくつかのシステムでは, hostname コマンドを持っておらず 
   (POSIZ で要求されていない), (要求されている )uname -n はあるが, 
   すべてのシステムで FQDN をレポートするわけではない.

OpenSSH 8.4 がリリースされました

27 Sep, 2020 - 12 minutes

2020/09/27, OpenSSH 8.4 がリリースされました.

Future deprecation notice
=========================

将来廃止される機能の告知
(訳注: 8.3 のリリースノートにもほぼ同じ内容が含まれている.
8.2 になくて 8.3 にある部分がなくなった)

It is now possible[1] to perform chosen-prefix attacks against the
SHA-1 algorithm for less than USD$50K. For this reason, we will be
disabling the "ssh-rsa" public key signature algorithm by default in a
near-future release.

USドル 50K より少ない金額で SHA-1 アルゴリズムに対する選択プレフィックス
攻撃が実行できることが [1] で示されている. このため, 我々は
近い将来のリリースで "ssh-rsa" 公開鍵署名アルゴリズムをデフォルトでは
無効にする予定だ.

This algorithm is unfortunately still used widely despite the
existence of better alternatives, being the only remaining public key
signature algorithm specified by the original SSH RFCs.

このアルコリズムは, よりよい代替アルゴリズムがあるにもかかわらず
もともとの SSH RFC で定義された公開鍵署名アルゴリズムのの中で
ただ1つ残ったアルゴリズムとして,
不幸なことにいまだ広く用いられている.

The better alternatives include:

次に示すものがよりよい代替だ:

 * The RFC8332 RSA SHA-2 signature algorithms rsa-sha2-256/512. These
   algorithms have the advantage of using the same key type as
   "ssh-rsa" but use the safe SHA-2 hash algorithms. These have been
   supported since OpenSSH 7.2 and are already used by default if the
   client and server support them.

   RFC8332 の RSA SHA-2 署名アルゴリズム rsa-sha-256/512.
   これらのアルゴリズムは "ssh-rsa" と同じ鍵タイプを用いる利点があり
   安全な SHA-2 ハッシュアルゴリズムを用いている. これらは
   OpenSSH 7.2 以降でサポートされており, クライアントとサーバが
   サポートしているならすでにデフォルトで用いられている.

 * The ssh-ed25519 signature algorithm. It has been supported in
   OpenSSH since release 6.5.

   ssh-ed25519 署名アルゴリズム. OpenSSH 6.5 以降でサポートされている.

 * The RFC5656 ECDSA algorithms: ecdsa-sha2-nistp256/384/521. These
   have been supported by OpenSSH since release 5.7.

   RFC5656 の ECDSA アルゴリズム: ecdsa-sha2-nistp256/384/521. These
   これらは OpenSSH 5.7 以降でサポートされている.

To check whether a server is using the weak ssh-rsa public key
algorithm, for host authentication, try to connect to it after
removing the ssh-rsa algorithm from ssh(1)'s allowed list:

サーバが, ホストの認証のために, 弱い ssh-rsa 公開鍵アルゴリズムを
利用しているか検査するには, ssh(1) の許可リストから ssh-rsa
アルゴリズムを除いたあとで接続を試行すればよい.

    ssh -oHostKeyAlgorithms=-ssh-rsa user@host

If the host key verification fails and no other supported host key
types are available, the server software on that host should be
upgraded.

ホスト鍵検証が失敗し他にサポートされたホスト鍵の種類がない場合,
ホストのサーバソフトウェアをアップグレードする必要がある.

We intend to enable UpdateHostKeys by default in the next OpenSSH
release. This will assist the client by automatically migrating to
better algorithms. Users may consider enabling this option manually.

OpenSSH の将来のリリースでは, クライアントがよりよいアルゴリズムに
自動的に移行できるようにする UpdateHostKeys 設定項目をデフォルトで有効にする.
ユーザはこの設定項目をマニュアルで有効にしてもよい. 

[1] "SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA-1 and
    Application to the PGP Web of Trust" Leurent, G and Peyrin, T
    (2020) https://eprint.iacr.org/2020/014.pdf


Security
========

セキュリティ

 * ssh-agent(1): restrict ssh-agent from signing web challenges for
   FIDO/U2F keys.

   ssh-agent(1): FIDO/U2F 鍵に対する web チャレンジの署名を
   ssh-agent で制限する.

   When signing messages in ssh-agent using a FIDO key that has an
   application string that does not start with "ssh:", ensure that the
   message being signed is one of the forms expected for the SSH protocol
   (currently public key authentication and sshsig signatures).

   "ssh:" で始まらないアプリケーション文字列を持つ FIDO 鍵を用いて
   ssh-agent でメッセージに署名する際, 署名されるメッセージが SSH プロトコル
   で期待される形式のうちの 1 つ (現在 公開鍵認証か sshsig 署名)かどうかを保証する.

   This prevents ssh-agent forwarding on a host that has FIDO keys
   attached granting the ability for the remote side to sign challenges
   for web authentication using those keys too.

   これにより, FIDO 鍵が取り付けられたホストでの
   それらの鍵を用いて web 認証のためのチャレンジへの署名を
   リモートの側でできるようにする ssh-agent 転送を防ぐ.

   Note that the converse case of web browsers signing SSH challenges is
   already precluded because no web RP can have the "ssh:" prefix in the
   application string that we require.

   web ブラウザが SSH チャレンジに署名する逆の場合は,
   web RP は我々が要求するアプリケーション文字列に
   "ssh:" プレフィックスを持たないので,
   すでに除外されていることに注意.

 * ssh-keygen(1): Enable FIDO 2.1 credProtect extension when generating
   a FIDO resident key.

   ssh-keygen(1): FIDO resident 鍵の生成時に FIDO 2.1 の credProtect 拡張
   を有効にする.

   The recent FIDO 2.1 Client to Authenticator Protocol introduced a
   "credProtect" feature to better protect resident keys. We use this
   option to require a PIN prior to all operations that may retrieve
   a resident key from a FIDO token.

   最近の FIDO 2.1 Client to Authenticator Protocol は より良く resident
   鍵を保護する "credProtect" 特徴を導入した. 我々は, このオプションを用いて
   FIDO トークンから resident 鍵を取得する可能性のあるすべての操作の前に
   PIN を要求する.

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響しうる変更を含んでいる:

 * For FIDO/U2F support, OpenSSH recommends the use of libfido2 1.5.0
   or greater. Older libraries have limited support at the expense of
   disabling particular features. These include resident keys, PIN-
   required keys and multiple attached tokens.

   FIDO/U2F サポートのために, OpenSSH は libfido2 1.5.0 以上の利用を
   推奨する. より古いライブラリは特定の機能が無効となる制限された
   サポートとなる. これらの機能には resident 鍵や PIN が必要な鍵,
   複数の取り付けられたトークンが含まれる.

 * ssh-keygen(1): the format of the attestation information optionally
   recorded when a FIDO key is generated has changed. It now includes
   the authenticator data needed to validate attestation signatures.

   ssh-keygen(1): FIDO 鍵が生成された場合にオプションで記録される attestation
   の情報の形式が変更される. attestation の署名を検証する際に必要な
   認証者の情報が含まれるようになる.

 * The API between OpenSSH and the FIDO token middleware has changed
   and the SSH_SK_VERSION_MAJOR version has been incremented as a
   result. Third-party middleware libraries must support the current
   API version (7) to work with OpenSSH 8.4.

   OpenSSH と FIDO トークンミドルウェアの間の API が変更され,
   結果として SSH_SK_VERSION_MAJOR バージョンが増加した.
   サードパーティのミドルウェアライブラリは, OpenSSH 8.4 と動くために
   現在の API バージョン (7) をサポートしなければならない.

 * The portable OpenSSH distribution now requires automake to rebuild
   the configure script and supporting files. This is not required when
   simply building portable OpenSSH from a release tar file.

   移植版 OpenSSH の配布は, configure スクリプトとサポートファイルを
   再ビルドするのに automake を必要とするようになる. リリース tar ファイルから
   移植版 OpenSSH を単にビルドする場合には必要ない.

Changes since OpenSSH 8.3
=========================

OpenSSH 8.3 からの変更

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

新機能

 * ssh(1), ssh-keygen(1): support for FIDO keys that require a PIN for
   each use. These keys may be generated using ssh-keygen using a new
   "verify-required" option. When a PIN-required key is used, the user
   will be prompted for a PIN to complete the signature operation.

   ssh(1), ssh-keygen(1): 利用のたびに PIN を要求する FIDO 鍵のサポート.
   これらの鍵は, 新しい "verify-required" オプションを用いて ssh-keygen
   で生成できる. PIN を要求する鍵を用いる場合, ユーザは署名の操作を完了するために
   PIN の入力を求められる.

 * sshd(8): authorized_keys now supports a new "verify-required"
   option to require FIDO signatures assert that the token verified
   that the user was present before making the signature. The FIDO
   protocol supports multiple methods for user-verification, but
   currently OpenSSH only supports PIN verification.

   sshd(8): authorized_keys は新しい "verify-required" オプション
   をサポートする. 署名を作成する前にユーザが存在していたことを
   トークンが検証したことを主張する FIDO 署名に要求する. FIDO
   プロトコルはユーザの検証のために複数の手段をサポートしているが,
   現在 OpenSSH は PIN 検証のみをサポートする.

 * sshd(8), ssh-keygen(1): add support for verifying FIDO webauthn
   signatures. Webauthn is a standard for using FIDO keys in web
   browsers. These signatures are a slightly different format to plain
   FIDO signatures and thus require explicit support.

   sshd(8), ssh-keygen(1): FIDO webauthn 署名の検証のサポートを追加する.
   Webauthn は web ブラウザで FIDO 鍵を用いるための標準だ.
   これらの署名は通常の FIDO 署名を少し異なる形式なので,
   明示的なサポートを要求する.

 * ssh(1): allow some keywords to expand shell-style ${ENV}
   environment variables. The supported keywords are CertificateFile,
   ControlPath, IdentityAgent and IdentityFile, plus LocalForward and
   RemoteForward when used for Unix domain socket paths. bz#3140

   ssh(1): いくつかのキーワードでシェルスタイルの ${ENV} 環境変数の展開を
   許容する. サポートされるキーワードは, CertificateFile と
   ControlPath, IdentityAgent, IdentityFile,
   さらに Unix ドメインソケットパスに用いられる場合の LocalForward と
   RemoteForward だ. bz#3140

 * ssh(1), ssh-agent(1): allow some additional control over the use of
   ssh-askpass via a new $SSH_ASKPASS_REQUIRE environment variable,
   including forcibly enabling and disabling its use. bz#69

   ssh(1), ssh-agent(1): 新しい $SSH_ASKPASS_REQUIRE 環境変数により
   ssh-askpass の有効/無効を強制することを含む ssh-askpass の利用
   のいくつかの追加の制御を可能にする.

 * ssh(1): allow ssh_config(5)'s AddKeysToAgent keyword accept a time
   limit for keys in addition to its current flag options. Time-
   limited keys will automatically be removed from ssh-agent after
   their expiry time has passed.

   ssh(1): ssh_config(5) の AddKeysToAgent キーワードの現在のフラグ
   オプションに加えて, 鍵の時間制限を受けつける. 時間制限のある鍵は
   有効期限が過ぎると ssh-agent から自動的に削除される.

 * scp(1), sftp(1): allow the -A flag to explicitly enable agent
   forwarding in scp and sftp. The default remains to not forward an
   agent, even when ssh_config enables it.

   scp(1), sftp(1): scp と sftp で明示的にエージェント転送を有効にする
   -A オプションを許容する. デフォルトは, ssh_config で有効にしていても,
   エージェントの転送をしないままだ.

 * ssh(1): add a '%k' TOKEN that expands to the effective HostKey of
   the destination. This allows, e.g., keeping host keys in individual
   files using "UserKnownHostsFile ~/.ssh/known_hosts.d/%k". bz#1654

   ssh(1): 接続先の有効な HostKey に転換する '%k' トークンを追加する.
   これは, 例えば "UserKnownHostsFile ~/.ssh/known_hosts.d/%k" のように用いて,
   別々のファイルにホスト鍵を保持できる. bz#1654

 * ssh(1): add %-TOKEN, environment variable and tilde expansion to
   the UserKnownHostsFile directive, allowing the path to be
   completed by the configuration (e.g. bz#1654)

   ssh(1): UserKnownHostsFile 設定項目に % トークン, 環境変数, チルダの
   展開を追加する. (bz#1654 のような) 設定によりパスを完全にできる.

 * ssh-keygen(1): allow "ssh-add -d -" to read keys to be deleted
   from stdin. bz#3180

   ssh-keygen(1): "ssh-add -d -" で標準入力から削除される鍵を読み込める.
   bz#3180

 * sshd(8): improve logging for MaxStartups connection throttling.
   sshd will now log when it starts and stops throttling and periodically
   while in this state. bz#3055

   MaxStartups 接続スロットリングに対するログの記録を改善する.
   sshd は, スロットリングの開始/終了時にログを記録し, スロットリング状態の間
   定期的にログを記録するようになる.

Bugfixes
--------

バグ修正

 * ssh(1), ssh-keygen(1): better support for multiple attached FIDO
   tokens. In cases where OpenSSH cannot unambiguously determine which
   token to direct a request to, the user is now required to select a
   token by touching it. In cases of operations that require a PIN to
   be verified, this avoids sending the wrong PIN to the wrong token
   and incrementing the token's PIN failure counter (tokens
   effectively erase their keys after too many PIN failures).

   ssh(1), ssh-keygen(1): 複数取り付けられた FIDO トークンへの
   より良いサポート. OpenSSH がどのトークンにリクエストを送るか
   明確に特定できない場合, ユーザはトークンにタッチすることでトークン
   を選択することが求められるようになる. 検証のために PIN が求められる
   操作の場合に, 間違った PIN を間違ったトークンに送ってしまったり
   トークンの PIN 失敗カウンタを増やすのを避けることができる
   (トークンは, 多数の PIN の失敗のあとにその鍵を事実上消す).

 * sshd(8): fix Include before Match in sshd_config; bz#3122

   sshd(8): sshd_config での Match の前の Include を修正する; bz#3122

 * ssh(1): close stdin/out/error when forking after authentication
   completes ("ssh -f ...") bz#3137

   ssh(1): 認証が成功したあと ("ssh -f ...") の fork で stdin/out/error
   を close する bz#3137

 * ssh(1), sshd(8): limit the amount of channel input data buffered,
   avoiding peers that advertise large windows but are slow to read
   from causing high memory consumption.

   ssh(1), sshd(8): バッファリングされるチャンネル入力データの量を
   制限する. 大きなウィンドウを広告するが読み込みが遅いピアに対し
   メモリ消費が多くなるのを避ける.

 * ssh-agent(1): handle multiple requests sent in a single write() to
   the agent.

   ssh-agent(1): 単一の write() でエージェントに対する複数の
   リクエスト送信を取り扱う

 * sshd(8): allow sshd_config longer than 256k

   sshd(8): 256k よりも長い sshd_config を許容する

 * sshd(8): avoid spurious "Unable to load host key" message when sshd
   load a private key but no public counterpart

   sshd が秘密鍵をロードしたが対応する公開鍵がない場合に, 偽の
   "Unable to load host key" メッセージを避ける.

 * ssh(1): prefer the default hostkey algorithm list whenever we have
   a hostkey that matches its best-preference algorithm.

   ssh(1): 最優先のアルゴリズムに一致するホスト鍵がる場合はいつでも,
   デフォルトのホスト鍵アルゴリズムリストを優先する.

 * sshd(1): when ordering the hostkey algorithms to request from a
   server, prefer certificate types if the known_hosts files contain a key
   marked as a @cert-authority; bz#3157

   sshd(1): サーバから要求するホスト鍵アルゴリズムの順番を決める場合に,
   known_hosts が @cert-authority としてマークされた鍵が含まれているなら
   証明書タイプを優先する.

 * ssh(1): perform host key fingerprint comparisons for the "Are you
   sure you want to continue connecting (yes/no/[fingerprint])?"
   prompt with case sensitivity.

   ssh(1): ホスト鍵指紋の比較を
   "Are you sure you want to continue connecting (yes/no/[fingerprint])?"
   プロンプトで大文字小文字を区別して実施する

 * sshd(8): ensure that address/masklen mismatches in sshd_config
   yield fatal errors at daemon start time rather than later when
   they are evaluated.

   sshd(8): sshd_config での address/masklen の不一致が, それが評価された
   後ではなくデーモンのスタート時に fatal エラーを発生するのを保証する.

 * ssh-keygen(1): ensure that certificate extensions are lexically
   sorted. Previously if the user specified a custom extension then
   the everything would be in order except the custom ones. bz#3198

   ssh-keygen(1): certificate 拡張が辞書的にソートされているのを保証する.
   以前ユーザがカスタム拡張を指定していると, カクタムのものを除いて
   順に並んでいた. bz#3198

 * ssh(1): also compare username when checking for JumpHost loops.
   bz#3057

   ssh(1): JumpHost ループに対するチェック時にユーザ名も比較する.
   bz#3057

 * ssh-keygen(1): preserve group/world read permission on known_hosts
   files across runs of "ssh-keygen -Rf /path". The old behaviour was
   to remove all rights for group/other. bz#3146

   ssh-keygen(1): "ssh-keygen -Rf /path" の実行で known_hosts ファイルの
   group/world 読み込みパーミッションを保存する. 古い動作は
   group/other のすべての権限を除去していた. bz#3146

 * ssh-keygen(1): Mention the [-a rounds] flag in the ssh-keygen
   manual page and usage().

   ssh-keygne(1): [-a round] フラグについて ssh-keygen のマニュアルページと
   usage() で言及する.

 * sshd(8): explicitly construct path to ~/.ssh/rc rather than
   relying on it being relative to the current directory, so that it
   can still be found if the shell startup changes its directory.
   bz#3185

   sshd(8): 現在のディレクトリからの相対に頼らず明示的に ~/.ssh/rc への
   パスを構築する. シェルの起動時にディレクトリを変更する場合でも
   見付けられるようになる. bz#3185

 * sshd(8): when redirecting sshd's log output to a file, undo this
   redirection after the session child process is forked(). Fixes
   missing log messages when using this feature under some
   circumstances.

   sshd(8): sshd のログ出力をファイルにリダイレクトする場合に
   セッションの子プロセスがフォークされた後はこのリダイレクトを
   無効にする. この特長を用いた場合にいくつかの環境でログメッセージが
   紛失していたのを修正する.

 * sshd(8): start ClientAliveInterval bookkeeping before first pass
   through select() loop; fixed theoretical case where busy sshd may
   ignore timeouts from client.

   sshd(8): select() ループを最初に追加する前に ClientAliveInterval の
   記帳を開始する; クライアントからのタイムアウトを忙しい sshd が無視する
   理論的なケースが修正された.

 * ssh(1): only reset the ServerAliveInterval check when we receive
   traffic from the server and ignore traffic from a port forwarding
   client, preventing a client from keeping a connection alive when
   it should be terminated. bz#2265

   ssh(1): サーバからのトラフィックを受信した場合のみ ServerAliveInterval
   チェックをリセットし, ポート転送のクライアントからのトラフィックを無視する.
   終了すべき場合にクライアントが接続を維持するのを防ぐ. bz#2265

 * ssh-keygen(1): avoid spurious error message when ssh-keygen
   creates files outside ~/.ssh

   ssh-keygen(1): ssh-keygen が ~/.ssh の外にファイルを作成する場合の
   偽のエラーメッセージを避ける.

 * sftp-client(1): fix off-by-one error that caused sftp downloads to
   make one more concurrent request that desired. This prevented using
   sftp(1) in unpipelined request/response mode, which is useful when
   debugging. bz#3054

   sftp-client(1): sftp のダウンロードで, 要求されているよりも
   1 つ多い同時リクエストを作る原因になっていた off-by-one エラーを
   修正する. これは, sftp(1) を, デバッグ時に便利な
   パイプライン化されていないリクエスト/レスポンスモードで利用するのを妨げていた.
   bz#3054

 * ssh(1), sshd(8): handle EINTR in waitfd() and timeout_connect()
   helpers. bz#3071

   ssh(1), sshd(8): waitfd() と timeout_connect() ヘルパーで EINTR
   を扱う. bz#3071

 * ssh(1), ssh-keygen(1): defer creation of ~/.ssh until we attempt to
   write to it so we don't leave an empty .ssh directory when it's not
   needed. bz#3156

   ssh(1), ssh-keygen(1): 必要のない場合に空の .ssh ディレクトリを残さない
   ように, 書き込みを試みるまで ~/.ssh の作成を遅らせる. bz#3156

 * ssh(1), sshd(8): fix multiplier when parsing time specifications
   when handling seconds after other units. bz#3171

   ssh(1), sshd(8): 時間指定を解析する際に 他の単位の後に秒を扱う場合の
   乗数を修正する. bz#3171

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

移植性

 * sshd(8): always send any PAM account messages. If the PAM account
   stack returns any messages, always send them to the user and not
   just if the check succeeds. bz#2049

   sshd(8): 常にどんな PAM アカウントメッセージも送信する.
   PAM アカウントスタックがどのようなメッセージを返してきた場合,
   チェックが成功した場合だけでなく常にそれらをユーザに送信する.
   bz#2049

 * Implement some backwards compatibility for libfido2 libraries
   older than 1.5.0. Note that use of an older library will result
   in the loss of certain features including resident key support,
   PIN support and support for multiple attached tokens.

   1.5.0 より古い libfido2 ライブラリへのいくつかの後方互換を
   実装する. より古いライブラリの利用は, resident 鍵のサポートや
   PIN のサポート, 複数の取り付けられたトークンのサポートを含む
   いくつかの特長を失なうことに注意.

 * configure fixes for XCode 12

   XCode 12 に対する configure の修正

 * gnome-ssh-askpass3: ensure the "close" button is not focused by
   default for SSH_ASKPASS_PROMPT=none prompts. Avoids space/enter
   accidentally dismissing FIDO touch notifications.

   gnome-ssh-askpass3: SSH_ASKPASS_PROMPT=none のプロンプトのデフォルトでは
   "close" ボタンがフォーカスされていないことを保証する.
   スペース/エンターでFIDO タッチ通知を間違えて閉じてしまうのを
   避ける.

 * gnome-ssh-askpass3: allow some control over textarea colour via
   $GNOME_SSH_ASKPASS_FG_COLOR and $GNOME_SSH_ASKPASS_BG_COLOR
   environment variables.

   gnome-ssh-askpass3: $GNOME_SSH_ASKPASS_FG_COLOR と
   $GNOME_SSH_ASKPASS_BG_COLOR 環境変数によるテキストエリアの色の
   いくつかの制御を許容する.

 * sshd(8): document another PAM spec problem in a frustrated comment

   sshd(8): いらいらしたコメントで別の PAM の仕様の問題を文書化する

 * sshd(8): support NetBSD's utmpx.ut_ss address field. bz#960

   sshd(8): NetBSD の utmpx.ut_ss アドレスフィールドをサポートする.
   bz#960

 * Add the ssh-sk-helper binary and its manpage to the RPM spec file

   ssh-sk-helper バイナリとマニュアルページを RPM spec ファイルに追加する

 * Detect the Frankenstein monster of Linux/X32 and allow the sandbox
   to function there. bz#3085

   Linux/X32 の Frankenstein monster を検出し, サンドボックスが機能する
   ようにする. bz#3085

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

21 Sep, 2020 - 10 minutes

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

Call for testing: OpenSSH 8.4

FIDO/U2F 関係が強化されています.

Security
========

セキュリティ

 * ssh-agent(1): restrict ssh-agent from signing web challenges for
   FIDO/U2F keys.

   ssh-agent(1): FIDO/U2F 鍵に対する web チャレンジの署名を
   ssh-agent で制限する.

   When signing messages in ssh-agent using a FIDO key that has an
   application string that does not start with "ssh:", ensure that the
   message being signed is one of the forms expected for the SSH protocol
   (currently public key authentication and sshsig signatures).

   "ssh:" で始まらないアプリケーション文字列を持つ FIDO 鍵を用いて
   ssh-agent でメッセージに署名する際, 署名されるメッセージが SSH プロトコル
   で期待される形式のうちの 1 つ (現在 公開鍵認証か sshsig 署名)かどうかを保証する.

   This prevents ssh-agent forwarding on a host that has FIDO keys
   attached granting the ability for the remote side to sign challenges
   for web authentication using those keys too.

   これにより, FIDO 鍵が取り付けられたホストでの
   それらの鍵を用いて web 認証のためのチャレンジへの署名を
   リモートの側でできるようにする ssh-agent 転送を防ぐ.

   Note that the converse case of web browsers signing SSH challenges is
   already precluded because no web RP can have the "ssh:" prefix in the
   application string that we require.

   web ブラウザが SSH チャレンジに署名する逆の場合は,
   web RP は我々が要求するアプリケーション文字列に
   "ssh:" プレフィックスを持たないので,
   すでに除外されていることに注意.

 * ssh-keygen(1): Enable FIDO 2.1 credProtect extension when generating
   a FIDO resident key.

   ssh-keygen(1): FIDO resident 鍵の生成時に FIDO 2.1 の credProtect 拡張
   を有効にする.

   The recent FIDO 2.1 Client to Authenticator Protocol introduced a
   "credProtect" feature to better protect resident keys. We use this
   option to require a PIN prior to all operations that may retrieve
   a resident key from a FIDO token.

   最近の FIDO 2.1 Client to Authenticator Protocol は より良く resident
   鍵を保護する "credProtect" 特徴を導入した. 我々は, このオプションを用いて
   FIDO トークンから resident 鍵を取得する可能性のあるすべての操作の前に
   PIN を要求する.

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響しうる変更を含んでいる:

 * For FIDO/U2F support, OpenSSH recommends the use of libfido2 1.5.0
   or greater. Older libraries have limited support at the expense of
   disabling particular features. These include resident keys, PIN-
   required keys and multiple attached tokens.

   FIDO/U2F サポートのために, OpenSSH は libfido2 1.5.0 以上の利用を
   推奨する. より古いライブラリは特定の機能が無効となる制限された
   サポートとなる. これらの機能には resident 鍵や PIN が必要な鍵,
   複数の取り付けられたトークンが含まれる.

 * ssh-keygen(1): the format of the attestation information optionally
   recorded when a FIDO key is generated has changed. It now includes
   the authenticator data needed to validate attestation signatures.

   ssh-keygen(1): FIDO 鍵が生成された場合にオプションで記録される attestation
   の情報の形式が変更される. attestation の署名を検証する際に必要な
   認証者の情報が含まれるようになる.

 * The API between OpenSSH and the FIDO token middleware has changed
   and the SSH_SK_VERSION_MAJOR version has been incremented as a
   result. Third-party middleware libraries must support the current
   API version (7) to work with OpenSSH 8.4.

   OpenSSH と FIDO トークンミドルウェアの間の API が変更され,
   結果として SSH_SK_VERSION_MAJOR バージョンが増加した.
   サードパーティのミドルウェアライブラリは, OpenSSH 8.4 と動くために
   現在の API バージョン (7) をサポートしなければならない.

 * The portable OpenSSH distribution now requires automake to rebuild
   the configure script and supporting files. This is not required when
   simply building portable OpenSSH from a release tar file.

   移植版 OpenSSH の配布は, configure スクリプトとサポートファイルを
   再ビルドするのに automake を必要とするようになる. リリース tar ファイルから
   移植版 OpenSSH を単にビルドする場合には必要ない.

Changes since OpenSSH 8.3
=========================

OpenSSH 8.3 からの変更

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

新機能

 * ssh(1), ssh-keygen(1): support for FIDO keys that require a PIN for
   each use. These keys may be generated using ssh-keygen using a new
   "verify-required" option. When a PIN-required key is used, the user
   will be prompted for a PIN to complete the signature operation.

   ssh(1), ssh-keygen(1): 利用のたびに PIN を要求する FIDO 鍵のサポート.
   これらの鍵は, 新しい "verify-required" オプションを用いて ssh-keygen
   で生成できる. PIN を要求する鍵を用いる場合, ユーザは署名の操作を完了するために
   PIN の入力を求められる.

 * sshd(8): authorized_keys now supports a new "verify-required"
   option to require FIDO signatures assert that the token verified
   that the user was present before making the signature. The FIDO
   protocol supports multiple methods for user-verification, but
   currently OpenSSH only supports PIN verification.

   sshd(8): authorized_keys は新しい "verify-required" オプション
   をサポートする. 署名を作成する前にユーザが存在していたことを
   トークンが検証したことを主張する FIDO 署名に要求する. FIDO
   プロトコルはユーザの検証のために複数の手段をサポートしているが,
   現在 OpenSSH は PIN 検証のみをサポートする.

 * sshd(8), ssh-keygen(1): add support for verifying FIDO webauthn
   signatures. Webauthn is a standard for using FIDO keys in web
   browsers. These signatures are a slightly different format to plain
   FIDO signatures and thus require explicit support.

   sshd(8), ssh-keygen(1): FIDO webauthn 署名の検証のサポートを追加する.
   Webauthn は web ブラウザで FIDO 鍵を用いるための標準だ.
   これらの署名は通常の FIDO 署名を少し異なる形式なので,
   明示的なサポートを要求する.

 * ssh(1): allow some keywords to expand shell-style ${ENV}
   environment variables. The supported keywords are CertificateFile,
   ControlPath, IdentityAgent and IdentityFile, plus LocalForward and
   RemoteForward when used for Unix domain socket paths. bz#3140

   ssh(1): いくつかのキーワードでシェルスタイルの ${ENV} 環境変数の展開を
   許容する. サポートされるキーワードは, CertificateFile と
   ControlPath, IdentityAgent, IdentityFile,
   さらに Unix ドメインソケットパスに用いられる場合の LocalForward と
   RemoteForward だ. bz#3140

 * ssh(1), ssh-agent(1): allow some additional control over the use of
   ssh-askpass via a new $SSH_ASKPASS_REQUIRE environment variable,
   including forcibly enabling and disabling its use. bz#69

   ssh(1), ssh-agent(1): 新しい $SSH_ASKPASS_REQUIRE 環境変数により
   ssh-askpass の有効/無効を強制することを含む ssh-askpass の利用
   のいくつかの追加の制御を可能にする.

 * ssh(1): allow ssh_config(5)'s AddKeysToAgent keyword accept a time
   limit for keys in addition to its current flag options. Time-
   limited keys will automatically be removed from ssh-agent after
   their expiry time has passed.

   ssh(1): ssh_config(5) の AddKeysToAgent キーワードの現在のフラグ
   オプションに加えて, 鍵の時間制限を受けつける. 時間制限のある鍵は
   有効期限が過ぎると ssh-agent から自動的に削除される.

 * scp(1), sftp(1): allow the -A flag to explicitly enable agent
   forwarding in scp and sftp. The default remains to not forward an
   agent, even when ssh_config enables it.

   scp(1), sftp(1): scp と sftp で明示的にエージェント転送を有効にする
   -A オプションを許容する. デフォルトは, ssh_config で有効にしていても,
   エージェントの転送をしないままだ.

 * ssh(1): add a '%k' TOKEN that expands to the effective HostKey of
   the destination. This allows, e.g., keeping host keys in individual
   files using "UserKnownHostsFile ~/.ssh/known_hosts.d/%k". bz#1654

   ssh(1): 接続先の有効な HostKey に転換する '%k' トークンを追加する.
   これは, 例えば "UserKnownHostsFile ~/.ssh/known_hosts.d/%k" のように用いて,
   別々のファイルにホスト鍵を保持できる. bz#1654

 * ssh(1): add %-TOKEN, environment variable and tilde expansion to
   the UserKnownHostsFile directive, allowing the path to be
   completed by the configuration (e.g. bz#1654)

   ssh(1): UserKnownHostsFile 設定項目に % トークン, 環境変数, チルダの
   展開を追加する. (bz#1654 のような) 設定によりパスを完全にできる.

 * ssh-keygen(1): allow "ssh-add -d -" to read keys to be deleted
   from stdin. bz#3180

   ssh-keygen(1): "ssh-add -d -" で標準入力から削除される鍵を読み込める.
   bz#3180

 * sshd(8): improve logging for MaxStartups connection throttling.
   sshd will now log when it starts and stops throttling and periodically
   while in this state. bz#3055

   MaxStartups 接続スロットリングに対するログの記録を改善する.
   sshd は, スロットリングの開始/終了時にログを記録し, スロットリング状態の間
   定期的にログを記録するようになる.

Bugfixes
--------

バグ修正

 * ssh(1), ssh-keygen(1): better support for multiple attached FIDO
   tokens. In cases where OpenSSH cannot unambiguously determine which
   token to direct a request to, the user is now required to select a
   token by touching it. In cases of operations that require a PIN to
   be verified, this avoids sending the wrong PIN to the wrong token
   and incrementing the token's PIN failure counter (tokens
   effectively erase their keys after too many PIN failures).

   ssh(1), ssh-keygen(1): 複数取り付けられた FIDO トークンへの
   より良いサポート. OpenSSH がどのトークンにリクエストを送るか
   明確に特定できない場合, ユーザはトークンにタッチすることでトークン
   を選択することが求められるようになる. 検証のために PIN が求められる
   操作の場合に, 間違った PIN を間違ったトークンに送ってしまったり
   トークンの PIN 失敗カウンタを増やすのを避けることができる
   (トークンは, 多数の PIN の失敗のあとにその鍵を事実上消す).

 * sshd(8): fix Include before Match in sshd_config; bz#3122

   sshd(8): sshd_config での Match の前の Include を修正する; bz#3122

 * ssh(1), sshd(8): limit the amount of channel input data buffered,
   avoiding peers that advertise large windows but are slow to read
   from causing high memory consumption.

   ssh(1), sshd(8): バッファリングされるチャンネル入力データの量を
   制限する. 大きなウィンドウを広告するが読み込みが遅いピアに対し
   メモリ消費が多くなるのを避ける.

 * ssh-agent(1): handle multiple requests sent in a single write() to
   the agent.

   ssh-agent(1): 単一の write() でエージェントに対する複数の
   リクエスト送信を取り扱う

 * sshd(8): allow sshd_config longer than 256k

   sshd(8): 256k よりも長い sshd_config を許容する

 * sshd(8): avoid spurious "Unable to load host key" message when sshd
   load a private key but no public counterpart

   sshd が秘密鍵をロードしたが対応する公開鍵がない場合に, 偽の
   "Unable to load host key" メッセージを避ける.

 * ssh(1): prefer the default hostkey algorithm list whenever we have
   a hostkey that matches its best-preference algorithm.

   ssh(1): 最優先のアルゴリズムに一致するホスト鍵がる場合はいつでも,
   デフォルトのホスト鍵アルゴリズムリストを優先する.

 * sshd(1): when ordering the hostkey algorithms to request from a
   server, prefer certificate types if the known_hosts files contain a key
   marked as a @cert-authority; bz#3157

   sshd(1): サーバから要求するホスト鍵アルゴリズムの順番を決める場合に,
   known_hosts が @cert-authority としてマークされた鍵が含まれているなら
   証明書タイプを優先する.

 * ssh(1): perform host key fingerprint comparisons for the "Are you
   sure you want to continue connecting (yes/no/[fingerprint])?"
   prompt with case sensitivity.

   ssh(1): ホスト鍵指紋の比較を
   "Are you sure you want to continue connecting (yes/no/[fingerprint])?"
   プロンプトで大文字小文字を区別して実施する

 * sshd(8): ensure that address/masklen mismatches in sshd_config
   yield fatal errors at daemon start time rather than later when
   they are evaluated.

   sshd(8): sshd_config での address/masklen の不一致が, それが評価された
   後ではなくデーモンのスタート時に fatal エラーを発生するのを保証する.

 * ssh-keygen(1): ensure that certificate extensions are lexically
   sorted. Previously if the user specified a custom extension then
   the everything would be in order except the custom ones. bz#3198

   ssh-keygen(1): certificate 拡張が辞書的にソートされているのを保証する.
   以前ユーザがカスタム拡張を指定していると, カクタムのものを除いて
   順に並んでいた. bz#3198

 * ssh(1): also compare username when checking for JumpHost loops.
   bz#3057

   ssh(1): JumpHost ループに対するチェック時にユーザ名も比較する.
   bz#3057

 * ssh-keygen(1): preserve group/world read permission on known_hosts
   files across runs of "ssh-keygen -Rf /path". The old behaviour was
   to remove all rights for group/other. bz#3146

   ssh-keygen(1): "ssh-keygen -Rf /path" の実行で known_hosts ファイルの
   group/world 読み込みパーミッションを保存する. 古い動作は
   group/other のすべての権限を除去していた. bz#3146

 * ssh-keygen(1): Mention the [-a rounds] flag in the ssh-keygen
   manual page and usage().

   ssh-keygne(1): [-a round] フラグについて ssh-keygen のマニュアルページと
   usage() で言及する.

 * sshd(8): explicitly construct path to ~/.ssh/rc rather than
   relying on it being relative to the current directory, so that it
   can still be found if the shell startup changes its directory.
   bz#3185

   sshd(8): 現在のディレクトリからの相対に頼らず明示的に ~/.ssh/rc への
   パスを構築する. シェルの起動時にディレクトリを変更する場合でも
   見付けられるようになる. bz#3185

 * sshd(8): when redirecting sshd's log output to a file, undo this
   redirection after the session child process is forked(). Fixes
   missing log messages when using this feature under some
   circumstances.

   sshd(8): sshd のログ出力をファイルにリダイレクトする場合に
   セッションの子プロセスがフォークされた後はこのリダイレクトを
   無効にする. この特長を用いた場合にいくつかの環境でログメッセージが
   紛失していたのを修正する.

 * sshd(8): start ClientAliveInterval bookkeeping before first pass
   through select() loop; fixed theoretical case where busy sshd may
   ignore timeouts from client.

   sshd(8): select() ループを最初に追加する前に ClientAliveInterval の
   記帳を開始する; クライアントからのタイムアウトを忙しい sshd が無視する
   理論的なケースが修正された.

 * ssh(1): only reset the ServerAliveInterval check when we receive
   traffic from the server and ignore traffic from a port forwarding
   client, preventing a client from keeping a connection alive when
   it should be terminated. bz#2265

   ssh(1): サーバからのトラフィックを受信した場合のみ ServerAliveInterval
   チェックをリセットし, ポート転送のクライアントからのトラフィックを無視する.
   終了すべき場合にクライアントが接続を維持するのを防ぐ. bz#2265

 * ssh-keygen(1): avoid spurious error message when ssh-keygen
   creates files outside ~/.ssh

   ssh-keygen(1): ssh-keygen が ~/.ssh の外にファイルを作成する場合の
   偽のエラーメッセージを避ける.

 * sftp-client(1): fix off-by-one error that caused sftp downloads to
   make one more concurrent request that desired. This prevented using
   sftp(1) in unpipelined request/response mode, which is useful when
   debugging. bz#3054

   sftp-client(1): sftp のダウンロードで, 要求されているよりも
   1 つ多い同時リクエストを作る原因になっていた off-by-one エラーを
   修正する. これは, sftp(1) を, デバッグ時に便利な
   パイプライン化されていないリクエスト/レスポンスモードで利用するのを妨げていた.
   bz#3054

 * ssh(1), sshd(8): handle EINTR in waitfd() and timeout_connect()
   helpers. bz#3071

   ssh(1), sshd(8): waitfd() と timeout_connect() ヘルパーで EINTR
   を扱う. bz#3071

 * ssh(1), ssh-keygen(1): defer creation of ~/.ssh until we attempt to
   write to it so we don't leave an empty .ssh directory when it's not
   needed. bz#3156

   ssh(1), ssh-keygen(1): 必要のない場合に空の .ssh ディレクトリを残さない
   ように, 書き込みを試みるまで ~/.ssh の作成を遅らせる. bz#3156

 * ssh(1), sshd(8): fix multiplier when parsing time specifications
   when handling seconds after other units. bz#3171

   ssh(1), sshd(8): 時間指定を解析する際に 他の単位の後に秒を扱う場合の
   乗数を修正する. bz#3171

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

移植性

 * sshd(8): always send any PAM account messages. If the PAM account
   stack returns any messages, always send them to the user and not
   just if the check succeeds. bz#2049

   sshd(8): 常にどんな PAM アカウントメッセージも送信する.
   PAM アカウントスタックがどのようなメッセージを返してきた場合,
   チェックが成功した場合だけでなく常にそれらをユーザに送信する.
   bz#2049

 * Implement some backwards compatibility for libfido2 libraries
   older than 1.5.0. Note that use of an older library will result
   in the loss of certain features including resident key support,
   PIN support and support for multiple attached tokens.

   1.5.0 より古い libfido2 ライブラリへのいくつかの後方互換を
   実装する. より古いライブラリの利用は, resident 鍵のサポートや
   PIN のサポート, 複数の取り付けられたトークンのサポートを含む
   いくつかの特長を失なうことに注意.

 * configure fixes for XCode 12

   XCode 12 に対する configure の修正

 * gnome-ssh-askpass3: ensure the "close" button is not focused by
   default for SSH_ASKPASS_PROMPT=none prompts. Avoids space/enter
   accidentally dismissing FIDO touch notifications.

   gnome-ssh-askpass3: SSH_ASKPASS_PROMPT=none のプロンプトのデフォルトでは
   "close" ボタンがフォーカスされていないことを保証する.
   スペース/エンターでFIDO タッチ通知を間違えて閉じてしまうのを
   避ける.

 * gnome-ssh-askpass3: allow some control over textarea colour via
   $GNOME_SSH_ASKPASS_FG_COLOR and $GNOME_SSH_ASKPASS_BG_COLOR
   environment variables.

   gnome-ssh-askpass3: $GNOME_SSH_ASKPASS_FG_COLOR と
   $GNOME_SSH_ASKPASS_BG_COLOR 環境変数によるテキストエリアの色の
   いくつかの制御を許容する.

 * sshd(8): document another PAM spec problem in a frustrated comment

   sshd(8): いらいらしたコメントで別の PAM の仕様の問題を文書化する

 * sshd(8): support NetBSD's utmpx.ut_ss address field. bz#960

   sshd(8): NetBSD の utmpx.ut_ss アドレスフィールドをサポートする.
   bz#960

 * Add the ssh-sk-helper binary and its manpage to the RPM spec file

   ssh-sk-helper バイナリとマニュアルページを RPM spec ファイルに追加する

 * Detect the Frankenstein monster of Linux/X32 and allow the sandbox
   to function there. bz#3085

   Linux/X32 の Frankenstein monster を検出し, サンドボックスが機能する
   ようにする. bz#3085

RFC 8391 XMSS: eXtended Merkle Signature Scheme を翻訳しました

19 Aug, 2020 - 1 minutes

RFC 8391 - XMSS: eXtended Merkle Signature Scheme翻訳 https://raw.githubusercontent.com/haruyama/ssh_rfc_ja/master/omegat/ssh/target/rfc8391.txt しました. 例によって適当です.

OpenSSH 7.7 以降で利用できる(デフォルトではコンパイルされない)電子署名方式です.

概要を引用します.

概要

   このノートは, 科学文献の既存の記述に基づくハッシュベースの電子署名システム eXtended Merkle Signature Scheme (XMSS) について記述する.
   このノートは, ワンタイム署名スキーム Winternitz One-Time Signature Plus (WOTS+)と single-tree のスキーム XMSS,  XMSS の multi-tree の変種 XMSS^MT を指定する.
   XMSS と XMSS^MT は主要な構築ブロックで WOTS+ を用いる.
   XMSS は数学の問題によって推測される困難さに依存しない暗号学的電子署名を提供する.
   代わりに, 暗号学的ハッシュ関数の性質にのみ依存することが証明されている.
   XMSS は, 基底のハッシュ関数の衝突耐性が壊れている場合でも, 強いセキュリティの保証, さらに安全さえ提供する.
   コンパクトな実装に適していて, 実装が相対的に楽で, サイドチャンネル攻撃に自然に耐性がある.
   他の多くの署名システムと異なり, ハッシュベースの署名は, 量子コンピューターを用いた既知の攻撃に現在のところ耐えることができる.

RSA, DSA, ECDSA などとは違う構成の仕方をしているので興味深いです.

OpenSSH 8.3 がリリースされました

27 May, 2020 - 9 minutes

2020/05/27, OpenSSH 8.3 がリリースされました.

https://www.openssh.com/txt/release-8.3

Future deprecation notice
=========================

将来廃止される機能の告知
(訳注: 8.2 のリリースノートにもほぼ同じ内容が含まれている)

It is now possible[1] to perform chosen-prefix attacks against the
SHA-1 algorithm for less than USD$50K. For this reason, we will be
disabling the "ssh-rsa" public key signature algorithm by default in a
near-future release.

USドル 50K より少ない金額で SHA-1 アルゴリズムに対する選択プレフィックス
攻撃が実行できることが [1] で示されている. このため, 我々は
近い将来のリリースで "ssh-rsa" 公開鍵署名アルゴリズムをデフォルトでは
無効にする予定だ.

This algorithm is unfortunately still used widely despite the
existence of better alternatives, being the only remaining public key
signature algorithm specified by the original SSH RFCs.

このアルコリズムは, よりよい代替アルゴリズムがあるにもかかわらず
もともとの SSH RFC で定義された公開鍵署名アルゴリズムのの中で
ただ1つ残ったアルゴリズムとして,
不幸なことにいまだ広く用いられている.

The better alternatives include:

次に示すものがよりよい代替だ:

 * The RFC8332 RSA SHA-2 signature algorithms rsa-sha2-256/512. These
   algorithms have the advantage of using the same key type as
   "ssh-rsa" but use the safe SHA-2 hash algorithms. These have been
   supported since OpenSSH 7.2 and are already used by default if the
   client and server support them.

   RFC8332 の RSA SHA-2 署名アルゴリズム rsa-sha-256/512.
   これらのアルゴリズムは "ssh-rsa" と同じ鍵タイプを用いる利点があり
   安全な SHA-2 ハッシュアルゴリズムを用いている. これらは
   OpenSSH 7.2 以降でサポートされており, クライアントとサーバが
   サポートしているならすでにデフォルトで用いられている.

 * The ssh-ed25519 signature algorithm. It has been supported in
   OpenSSH since release 6.5.

   ssh-ed25519 署名アルゴリズム. OpenSSH 6.5 以降でサポートされている.

 * The RFC5656 ECDSA algorithms: ecdsa-sha2-nistp256/384/521. These
   have been supported by OpenSSH since release 5.7.

   RFC5656 の ECDSA アルゴリズム: ecdsa-sha2-nistp256/384/521. These
   これらは OpenSSH 5.7 以降でサポートされている.

To check whether a server is using the weak ssh-rsa public key
algorithm, for host authentication, try to connect to it after
removing the ssh-rsa algorithm from ssh(1)'s allowed list:

サーバが, ホストの認証のために, 弱い ssh-rsa 公開鍵アルゴリズムを
利用しているか検査するには, ssh(1) の許可リストから ssh-rsa
アルゴリズムを除いたあとで接続を試行すればよい.

    ssh -oHostKeyAlgorithms=-ssh-rsa user@host

If the host key verification fails and no other supported host key
types are available, the server software on that host should be
upgraded.

ホスト鍵検証が失敗し他にサポートされたホスト鍵の種類がない場合,
ホストのサーバソフトウェアをアップグレードする必要がある.

A future release of OpenSSH will enable UpdateHostKeys by default
to allow the client to automatically migrate to better algorithms.
Users may consider enabling this option manually. Vendors of devices
that implement the SSH protocol should ensure that they support the
new signature algorithms for RSA keys.

OpenSSH の将来のリリースでは, クライアントがよりよいアルゴリズムに
自動的に移行できるようにする UpdateHostKeys 設定項目をデフォルトで有効にする.
ユーザはこの設定項目をマニュアルで有効にしてもよい. (訳注: この節の
次の文が 8.3 で追記された) SSH プロトコルを実装するデバイスのベンダは
RSA 鍵に対する新しい署名アルゴリズムをサポートすることを保証すべきだ.

[1] "SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA-1 and
    Application to the PGP Web of Trust" Leurent, G and Peyrin, T
    (2020) https://eprint.iacr.org/2020/014.pdf

Security
========

セキュリティ

 * scp(1): when receiving files, scp(1) could be become desynchronised
   if a utimes(2) system call failed. This could allow file contents
   to be interpreted as file metadata and thereby permit an adversary
   to craft a file system that, when copied with scp(1) in a
   configuration that caused utimes(2) to fail (e.g. under a SELinux
   policy or syscall sandbox), transferred different file names and
   contents to the actual file system layout.

   scp(1): ファイルを受け取る際, utimes(2) システムコールが失敗すると
   scp(1) は 非同期になる可能性がある. この時ファイルの内容が
   ファイルのメタデータとして解釈される可能性があり, それゆえ
   ファイルシステムを加工する攻撃を許してしまう.
   (例えば SELinux のポリシー や システムコールサンドボックスによって)
   utimes(2) が失敗しうる設定で scp(1) でのコピーされたファイルが,
   実際のファイルシステムの配置とは異なるファイル名や内容でコピーされる.

   Exploitation of this is not likely as utimes(2) does not fail under
   normal circumstances. Successful exploitation is not silent - the
   output of scp(1) would show transfer errors followed by the actual
   file(s) that were received.

   この問題は, utimes(2) は通常の環境で失敗しないので, 発生する蓋然性は低い.
   問題が発生したときはわかりやすい - scp の出力は, 実際に転送されたファイル(群)
   に続いて転送エラーを表示するだろう.

   Finally, filenames returned from the peer are (since openssh-8.0)
   matched against the user's requested destination, thereby
   disallowing a successful exploit from writing files outside the
   user's selected target glob (or directory, in the case of a
   recursive transfer). This ensures that this attack can achieve no
   more than a hostile peer is already able to achieve within the scp
   protocol.

   最後に, 相手方から転送されたファイル名は (openssh-8.0 から)
   ユーザの要求した転送先に一致するので, ユーザが選択した対象の
   glob (ないし, 再帰転送の場合は, ディレクトリ) の外側で
   この問題が発生することはない. これは, この攻撃によって悪意のある
   相手方が scp プロトコル内で達成できること以上のことはできないことを
   保証します.

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に変更しうる変更を含んでいる.

 * sftp(1): reject an argument of "-1" in the same way as ssh(1) and
   scp(1) do instead of accepting and silently ignoring it.

   sftp(1): コマンドライン引数 "-1" を ssh(1) と scp(1) と同様に拒否する.
   これまでは受け入れて静かに無視していた.

Changes since OpenSSH 8.2
=========================

OpenSSH 8.2 からの変更

The focus of this release is bug fixing.

このリリースの焦点はバグ修正だ.

New Features
------------

新機能

 * sshd(8): make IgnoreRhosts a tri-state option: "yes" to ignore
   rhosts/shosts, "no" allow rhosts/shosts or (new) "shosts-only"
   to allow .shosts files but not .rhosts.

   ssh(8): IgnoreRhosts は 3つの状態を持つ設定項目となる. "yes" は
   rhosts/shosts を無視する. "no" は rhosts/shosts を利用可能とする.
   (新しい) "shosts-only" は .shosts を利用可能とするが, .rhosts は
   そうしない.

 * sshd(8): allow the IgnoreRhosts directive to appear anywhere in a
   sshd_config, not just before any Match blocks; bz3148

   sshd(8): IgnoreRhosts 設定項目を, すべての Match ブロック の前ではなく
   sshd_config のどこに配置してもよいようにする. bz3148

 * ssh(1): add %TOKEN percent expansion for the LocalFoward and
   RemoteForward keywords when used for Unix domain socket forwarding.
   bz#3014

   ssh(1): ユニックスドメインソケット転送で利用する際の %TOKEN (%h など)
   の展開を LocalFoward と RemoteForward で追加する. bz#3014

 * all: allow loading public keys from the unencrypted envelope of a
   private key file if no corresponding public key file is present.

   all: 秘密鍵ファイルがあって対応する公開鍵がない場合に, 秘密鍵ファイルの
   暗号化されていない envelope から公開鍵をロードできるようにする.

 * ssh(1), sshd(8): prefer to use chacha20 from libcrypto where
   possible instead of the (slower) portable C implementation included
   in OpenSSH.

   ssh(1), sshd(8): chacha20 の利用時に, 可能ならば
   (より遅い) OpenSSH に含まれる (より遅く) 移植性のある C の実装よりも
   libcrypto を利用する.

 * ssh-keygen(1): add ability to dump the contents of a binary key
   revocation list via "ssh-keygen -lQf /path" bz#3132

   ssh-keygen(1): "ssh-keygen -lQf /path" によって バイナリ 鍵
   失効リストの内容を出力できるようにする. bz#3132

Bugfixes
--------

バグ修正

 * ssh(1): fix IdentitiesOnly=yes to also apply to keys loaded from
   a PKCS11Provider; bz#3141

   ssh(1): PKCS11Provider からロードされた鍵に対しても IdentitiesOnly=yes
   を適用するように修正する; bz#3141

 * ssh-keygen(1): avoid NULL dereference when trying to convert an
   invalid RFC4716 private key.

   ssh-keygen(1): 不正な RFC4716 秘密鍵を変換しようとする際に
   NULL の参照を外さないようにする.

 * scp(1): when performing remote-to-remote copies using "scp -3",
   start the second ssh(1) channel with BatchMode=yes enabled to
   avoid confusing and non-deterministic ordering of prompts.

   scp(1): "scp -3" を用いて リモート-リモート コピーを実行する際,
   プロンプトの混乱を招き非決定的な順番を回避できるよう
   2番目の ssh(1) チャンネルを BatchMode=yes で開始する.

 * ssh(1), ssh-keygen(1): when signing a challenge using a FIDO token,
   perform hashing of the message to be signed in the middleware layer
   rather than in OpenSSH code. This permits the use of security key
   middlewares that perform the hashing implicitly, such as Windows
   Hello.

   ssh(1), ssh-keygen(1): FIDO トークンを用いてチャレンジに署名する際,
   OpenSSH のコードよりもミドルウェアの層で署名されたメッセージの
   ハッシュ化を優先して行なうようにする.  Windows ハローのような, 
   ハッシュを暗黙的に実行するセキュリティ鍵ミドルウェアの利用が
   できるようになる.

 * ssh(1): fix incorrect error message for "too many known hosts
   files." bz#3149

   ssh(1): "too many known hosts files" に対する間違った
   エラーメッセージを修正する. bz#3149

 * ssh(1): make failures when establishing "Tunnel" forwarding
   terminate the connection when ExitOnForwardFailure is enabled;
   bz#3116

   ssh(1): ExitOnForwardFailure が有効な場合に "トンネル" 転送の確立に失敗したら
   接続を終了するようにする; bz#3116

 * ssh-keygen(1): fix printing of fingerprints on private keys and add
   a regression test for same.

   ssh-keygen(1): 秘密鍵の指紋の出力を修正し, 回帰テストを追加する.

 * sshd(8): document order of checking AuthorizedKeysFile (first) and
   AuthorizedKeysCommand (subsequently, if the file doesn't match);
   bz#3134

   sshd(8): AuthorizedKeysFile (最初にチェックする) と AuthorizedKeysCommand
   (ファイルがマッチしなかったら, 次に) の順番を文書化する. bz#3134

 * sshd(8): document that /etc/hosts.equiv and /etc/shosts.equiv are
   not considered for HostbasedAuthentication when the target user is
   root; bz#3148

   sshd(8): 対象ユーザが root の場合に HostbasedAuthentication で
   /etc/hosts.equiv と /etc/shosts.equiv が考慮されないことを文書化する;
   bz#3148

 * ssh(1), ssh-keygen(1): fix NULL dereference in private certificate
   key parsing (oss-fuzz #20074).

   ssh(1), ssh-keygen(1): 秘密証明書鍵のパース時の NULL の参照外しを
   修正する (oss-fuzz #20074).

 * ssh(1), sshd(8): more consistency between sets of %TOKENS are
   accepted in various configuration options.

   ssh(1), sshd(8): %TOKENS の集合の間の一貫性を
   いろいろな設定オプション間でより一致するようにする.

 * ssh(1), ssh-keygen(1): improve error messages for some common
   PKCS#11 C_Login failure cases; bz#3130

   ssh(1), ssh-keygen(1):  PKCS#11 C_Login 失敗のいくつかの場合の
   エラーメッセージを改善する; bz#3130

 * ssh(1), sshd(8): make error messages for problems during SSH banner
   exchange consistent with other SSH transport-layer error messages
   and ensure they include the relevant IP addresses bz#3129

   ssh(1), sshd(8): SSH バナー交換時の問題のエラーメッセージを
   他の SSH トランスポート層エラーメッセージと一貫するようにし,
   関連する IPアドレスを含むようにする. bz#3129

 * various: fix a number of spelling errors in comments and debug/error
   messages

   いろいろ: コメントや debug/error メッセージ中のスペルミスを多数
   修正する.

 * ssh-keygen(1), ssh-add(1): when downloading FIDO2 resident keys
   from a token, don't prompt for a PIN until the token has told us
   that it needs one. Avoids double-prompting on devices that
   implement on-device authentication.

   ssh-keygen(1), ssh-add(1): FIDO2 resident 鍵をトークンから
   ダウンロードする際, トークンが PIN が必要だと言うまでは
   PIN のプロンプトを表示しない. デバイスの認証を実装しているデバイスでの
   2重プロンプトを避ける.

 * sshd(8), ssh-keygen(1): no-touch-required FIDO certificate option
   should be an extension, not a critical option.

   sshd(8), ssh-keygen(1): 接触が必要ない FIDO 証明書オプションは
   拡張とする必要がある. 必須のオプションではない.

 * ssh(1), ssh-keygen(1), ssh-add(1): offer a better error message
   when trying to use a FIDO key function and SecurityKeyProvider is
   empty.

   ssh(1), ssh-keygen(1), ssh-add(1): FIDO 鍵関数を利用しようとして
   SecurityKeyProvider が空の場合のエラーメッセージを改善する.

 * ssh-add(1), ssh-agent(8): ensure that a key lifetime fits within
   the values allowed by the wire format (u32). Prevents integer
   wraparound of the timeout values. bz#3119

   ssh-add(1), ssh-agent(8): 鍵の有効時間は wire format (u32) で
   許可されている値の範囲内に収まることを保証する. タイムアウト値の
   整数循環を防止する. bz#3119

 * ssh(1): detect and prevent trivial configuration loops when using
    ProxyJump. bz#3057.

   ssh(1): ProxyJump を利用した 自明な設定ループを検出し防止する bz#3057

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

移植性

 * Detect systems where signals flagged with SA_RESTART will interrupt
   select(2). POSIX permits implementations to choose whether
   select(2) will return when interrupted with a SA_RESTART-flagged
   signal, but OpenSSH requires interrupting behaviour.

   SA_RESTART フラグ付きのシグナルが select(2) に割り込むシステムを検出する.
   POSIX は SA_RESTART フラグ付きのシグナルによって割り込まれた場合に
   select(2) が return するかどうかを実装にまかせているが,
   OpenSSH は割り込まれる振舞いを要求している.

 * Several compilation fixes for HP/UX and AIX.

   HP/UX と AIX でのいくつかのコンパイルの問題の修正.

 * On platforms that do not support setting process-wide routing
   domains (all excepting OpenBSD at present), fail to accept a
   configuration attempts to set one at process start time rather than
   fatally erroring at run time. bz#3126

   プロセス単位のルーティングドメインの設定をサポートしないプラットフォーム
   (現在 OpenBSD 以外のすべてのプラットフォーム) で, そのような設定に対して
   実行時に致命的に失敗するのではなく開始時に設定しようとしたらエラーと
   なるようにする. bz#3126

 * Improve detection of egrep (used in regression tests) on platforms
   that offer a poor default one (e.g. Solaris).

   (例えば Solaris のような) 貧弱なデフォルトの egrep を提供するプラットフォーム
   での egrep の検出を改善する. (egrep は回帰テストで利用している)

 * A number of shell portability fixes for the regression tests.

   回帰テストでの シェル移植性を多数修正する.

 * Fix theoretical infinite loop in the glob(3) replacement
   implementation.

   glob(3) 置換実装での理論上ありえる無限ループを修正する.

 * Fix seccomp sandbox compilation problems for some Linux
   configurations bz#3085

   いくつかの Linux の設定での seccomp サンドボックスのコンパイルの
   問題を修正する bz#3085

 * Improved detection of libfido2 and some compilation fixes for some
   configurations when --with-security-key-builtin is selected.

   libfido2 の検出改善し, --with-security-key-builtin が選択された場合の
   いくつかの設定でのコンパイル時の問題を修正する.

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

12 May, 2020 - 7 minutes

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

Call for testing: OpenSSH 8.3

バグ修正がメインのリリースとなりそうです.

Security
========

セキュリティ

 * scp(1): when receiving files, scp(1) could be become desynchronised
   if a utimes(2) system call failed. This could allow file contents
   to be interpreted as file metadata and thereby permit an adversary
   to craft a file system that, when copied with scp(1) in a
   configuration that caused utimes(2) to fail (e.g. under a SELinux
   policy or syscall sandbox), transferred different file names and
   contents to the actual file system layout.

   scp(1): ファイルを受け取る際, utimes(2) システムコールが失敗すると
   scp(1) は 非同期になる可能性がある. この時ファイルの内容が
   ファイルのメタデータとして解釈される可能性があり, それゆえ
   ファイルシステムを加工する攻撃を許してしまう.
   (例えば SELinux のポリシー や システムコールサンドボックスによって)
   utimes(2) が失敗しうる設定で scp(1) でのコピーされたファイルが,
   実際のファイルシステムの配置とは異なるファイル名や内容でコピーされる.

   Exploitation of this is not likely as utimes(2) does not fail under
   normal circumstances. Successful exploitation is not silent - the
   output of scp(1) would show transfer errors followed by the actual
   file(s) that were received.

   この問題は, utimes(2) は通常の環境で失敗しないので, 発生する蓋然性は低い.
   問題が発生したときはわかりやすい - scp の出力は, 実際に転送されたファイル(群)
   に続いて転送エラーを表示するだろう.

   Finally, filenames returned from the peer are (since openssh-8.0)
   matched against the user's requested destination, thereby
   disallowing a successful exploit from writing files outside the
   user's selected target glob (or directory, in the case of a
   recursive transfer). This ensures that this attack can achieve no
   more than a hostile peer is already able to do within the scp
   protocol.

   最後に, 相手方から転送されたファイル名は (openssh-8.0 から)
   ユーザの要求した転送先に一致するので, ユーザが選択した対象の
   glob (ないし, 再帰転送の場合は, ディレクトリ) の外側で
   この問題が発生することはない. これは, この攻撃によって悪意のある
   相手方が scp プロトコル内で可能なこと以上のことはできないことを
   保証します.

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に変更しうる変更を含んでいる.

 * sftp(1): reject an argument of "-1" in the same way as ssh(1) and
   scp(1) do instead of accepting and silently ignoring it.

   sftp(1): コマンドライン引数 "-1" を ssh(1) と scp(1) と同様に拒否する.
   これまでは受け入れて静かに無視していた.

Changes since OpenSSH 8.2
=========================

OpenSSH 8.2 からの変更

The focus of this release is bug fixing.

このリリースの焦点はバグ修正だ.

New Features
------------

新機能

 * sshd(8): make IgnoreRhosts a tri-state option: "yes" to ignore
   rhosts/shosts, "no" allow rhosts/shosts or (new) "shosts-only"
   to allow .shosts files but not .rhosts.

   ssh(8): IgnoreRhosts は 3つの状態を持つ設定項目となる. "yes" は
   rhosts/shosts を無視する. "no" は rhosts/shosts を利用可能とする.
   (新しい) "shosts-only" は .shosts を利用可能とするが, .rhosts は
   そうしない.

 * sshd(8): allow the IgnoreRhosts directive to appear anywhere in a
   sshd_config, not just before any Match blocks; bz3148

   sshd(8): IgnoreRhosts 設定項目を, すべての Match ブロック の前ではなく
   sshd_config のどこに配置してもよいようにする. bz3148

 * ssh(1): add %TOKEN percent expansion for the LocalFoward and
   RemoteForward keywords when used for Unix domain socket forwarding.
   bz#3014

   ssh(1): ユニックスドメインソケット転送で利用する際の %TOKEN (%h など)
   の展開を LocalFoward と RemoteForward で追加する. bz#3014

 * all: allow loading public keys from the unencrypted envelope of a
   private key file if no corresponding public key file is present.

   all: 秘密鍵ファイルがあって対応する公開鍵がない場合に, 秘密鍵ファイルの
   暗号化されていない envelope から公開鍵をロードできるようにする.

 * ssh(1), sshd(8): prefer to use chacha20 from libcrypto where
   possible instead of the (slower) portable C implementation included
   in OpenSSH.

   ssh(1), sshd(8): chacha20 の利用時に, 可能ならば
   (より遅い) OpenSSH に含まれる (より遅く) 移植性のある C の実装よりも
   libcrypto を利用する.

 * ssh-keygen(1): add ability to dump the contents of a binary key
   revocation list via "ssh-keygen -lQf /path" bz#3132

   ssh-keygen(1): "ssh-keygen -lQf /path" によって バイナリ 鍵
   失効リストの内容を出力できるようにする. bz#3132

Bugfixes
--------

バグ修正

 * ssh(1): fix IdentitiesOnly=yes to also apply to keys loaded from
   a PKCS11Provider; bz#3141

   ssh(1): PKCS11Provider からロードされた鍵に対しても IdentitiesOnly=yes
   を適用するように修正する; bz#3141

 * ssh-keygen(1): avoid NULL dereference when trying to convert an
   invalid RFC4716 private key.

   ssh-keygen(1): 不正な RFC4716 秘密鍵を変換しようとする際に
   NULL の参照を外さないようにする.

 * scp(2): when performing remote-to-remote copies using "scp -3",
   start the second ssh(1) channel with BatchMode=yes enabled to
   avoid confusing and non-deterministic ordering of prompts.

   scp(2): "scp -3" を用いて リモート-リモート コピーを実行する際,
   プロンプトの混乱を招き非決定的な順番を回避できるよう
   2番目の ssh(1) チャンネルを BatchMode=yes で開始する.

 * ssh(1), ssh-keygen(1): when signing a challenge using a FIDO token,
   perform hashing of the message to be signed in the middleware layer
   rather than in OpenSSH code. This permits the use of security key
   middlewares that perform the hashing implicitly, such as Windows
   Hello.

   ssh(1), ssh-keygen(1): FIDO トークンを用いてチャレンジに署名する際,
   OpenSSH のコードよりもミドルウェアの層で署名されたメッセージの
   ハッシュ化を優先して行なうようにする.  Windows ハローのような, 
   ハッシュを暗黙的に実行するセキュリティ鍵ミドルウェアの利用が
   できるようになる.

 * ssh(1): fix incorrect error message for "too many known hosts
   files." bz#3149

   ssh(1): "too many known hosts files" に対する間違った
   エラーメッセージを修正する. bz#3149

 * ssh(1): make failures when establishing "Tunnel" forwarding
   terminate the connection when ExitOnForwardFailure is enabled;
   bz#3116

   ssh(1): ExitOnForwardFailure が有効な場合に "トンネル" 転送の確立に失敗したら
   接続を終了するようにする; bz#3116

 * ssh-keygen(1): fix printing of fingerprints on private keys and add
   a regression test for same.

   ssh-keygen(1): 秘密鍵の指紋の出力を修正し, 回帰テストを追加する.

 * sshd(8): document order of checking AuthorizedKeysFile (first) and
   AuthorizedKeysCommand (subsequently, if the file doesn't match);
   bz#3134

   sshd(8): AuthorizedKeysFile (最初にチェックする) と AuthorizedKeysCommand
   (ファイルがマッチしなかったら, 次に) の順番を文書化する. bz#3134

 * sshd(8): document that /etc/hosts.equiv and /etc/shosts.equiv are
   not considered for HostbasedAuthentication when the target user is
   root; bz#3148

   sshd(8): 対象ユーザが root の場合に HostbasedAuthentication で
   /etc/hosts.equiv と /etc/shosts.equiv が考慮されないことを文書化する;
   bz#3148

 * ssh(1), ssh-keygen(1): fix NULL dereference in private certificate
   key parsing (oss-fuzz #20074).

   ssh(1), ssh-keygen(1): 秘密証明書鍵のパース時の NULL の参照外しを
   修正する (oss-fuzz #20074).

 * ssh(1), sshd(8): more consistency between sets of %TOKENS are
   accepted in various configuration options.

   ssh(1), sshd(8): %TOKENS の集合の間の一貫性を
   いろいろな設定オプション間でより一致するようにする.

 * ssh(1), ssh-keygen(1): improve error messages for some common
   PKCS#11 C_Login failure cases; bz#3130

   ssh(1), ssh-keygen(1):  PKCS#11 C_Login 失敗のいくつかの場合の
   エラーメッセージを改善する; bz#3130

 * ssh(1), sshd(8): make error messages for problems during SSH banner
   exchange consistent with other SSH transport-layer error messages
   and ensure they include the relevant IP addresses bz#3129

   ssh(1), sshd(8): SSH バナー交換時の問題のエラーメッセージを
   他の SSH トランスポート層エラーメッセージと一貫するようにし,
   関連する IPアドレスを含むようにする. bz#3129

 * various: fix a number of spelling errors in comments and debug/error
   messages

   いろいろ: コメントや debug/error メッセージ中のスペルミスを多数
   修正する.

 * ssh-keygen(1), ssh-add(1): when downloading FIDO2 resident keys
   from a token, don't prompt for a PIN until the token has told us
   that it needs one. Avoids double-prompting on devices that
   implement on-device authentication.

   ssh-keygen(1), ssh-add(1): FIDO2 resident 鍵をトークンから
   ダウンロードする際, トークンが PIN が必要だと言うまでは
   PIN のプロンプトを表示しない. デバイスの認証を実装しているデバイスでの
   2重プロンプトを避ける.

 * sshd(8), ssh-keygen(1): no-touch-required FIDO certificate option
   should be an extension, not a critical option.

   sshd(8), ssh-keygen(1): 接触が必要ない FIDO 証明書オプションは
   拡張とする必要がある. 必須のオプションではない.

 * ssh(1), ssh-keygen(1), ssh-add(1): offer a better error message
   when trying to use a FIDO key function and SecurityKeyProvider is
   empty.

   ssh(1), ssh-keygen(1), ssh-add(1): FIDO 鍵関数を利用しようとして
   SecurityKeyProvider が空の場合のエラーメッセージを改善する.

 * ssh-add(1), ssh-agent(8): ensure that a key lifetime fits within
   the values allowed by the wire format (u32). Prevents integer
   wraparound of the timeout values. bz#3119

   ssh-add(1), ssh-agent(8): 鍵の有効時間は wire format (u32) で
   許可されている値の範囲内に収まることを保証する. タイムアウト値の
   整数循環を防止する. bz#3119

 * ssh(1): detect and prevent trivial configuration loops when using
    ProxyJump. bz#3057.

   ssh(1): ProxyJump を利用した 自明な設定ループを検出し防止する bz#3057

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

移植性

 * Detect systems where signals flagged with SA_RESTART will interrupt
   select(2). POSIX permits implementations to choose whether
   select(2) will return when interrupted with a SA_RESTART-flagged
   signal, but OpenSSH requires interrupting behaviour.

   SA_RESTART フラグ付きのシグナルが select(2) に割り込むシステムを検出する.
   POSIX は SA_RESTART フラグ付きのシグナルによって割り込まれた場合に
   select(2) が return するかどうかを実装にまかせているが,
   OpenSSH は割り込まれる振舞いを要求している.

 * Several compilation fixes for HP/UX and AIX.

   HP/UX と AIX でのいくつかのコンパイルの問題の修正.

 * On platforms that do not support setting process-wide routing
   domains (all excepting OpenBSD at present), fail to accept a
   configuration attempts to set one at process start time rather than
   fatally erroring at run time. bz#3126

   プロセス単位のルーティングドメインの設定をサポートしないプラットフォーム
   (現在 OpenBSD 以外のすべてのプラットフォーム) で, そのような設定に対して
   実行時に致命的に失敗するのではなく開始時に設定しようとしたらエラーと
   なるようにする. bz#3126

 * Improve detection of egrep (used in regression tests) on platforms
   that offer a poor default one (e.g. Solaris).

   (例えば Solaris のような) 貧弱なデフォルトの egrep を提供するプラットフォーム
   での egrep の検出を改善する. (egrep は回帰テストで利用している)

 * A number of shell portability fixes for the regression tests.

   回帰テストでの シェル移植性を多数修正する.

 * Fix theoretical infinite loop in the glob(3) replacement
   implementation.

   glob(3) 置換実装での理論上ありえる無限ループを修正する.

 * Fix seccomp sandbox compilation problems for some Linux
   configurations bz#3085

   いくつかの Linux の設定での seccomp サンドボックスのコンパイルの
   問題を修正する bz#3085

 * Improved detection of libfido2 and some compilation fixes for some
   configurations when --with-security-key-builtin is selected.

   libfido2 の検出改善し, --with-security-key-builtin が選択された場合の
   いくつかの設定でのコンパイル時の問題を修正する.

OpenSSH 8.2 がリリースされました

14 Feb, 2020 - 15 minutes

2020/02/14, OpenSSH 8.2 がリリースされました.

SHA-1 の危殆化による変更, FIDO/U2F 対応が行なわれています.

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

6 Feb, 2020 - 14 minutes

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

Call for testing: OpenSSH 8.2

SHA-1 の利用廃止に向けた動き, FIDO/U2F などもりだくさんです.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2020-February/038215.html

Future deprecation notice
=========================

将来廃止される機能についての通知

It is now possible[1] to perform chosen-prefix attacks against the
SHA-1 algorithm for less than USD$50K. For this reason, we will be
disabling the "ssh-rsa" public key signature algorithm by default in a
near-future release.

USドル 50K より少ない金額で SHA-1 アルゴリズムに対する選択プレフィックス
攻撃が実行できることが [1] で示されている. このため, 我々は
近い将来のリリースで "ssh-rsa" 公開鍵署名アルゴリズムをデフォルトでは
無効にする予定だ.

This algorithm is unfortunately still used widely despite the
existence of better alternatives, being the only remaining public key
signature algorithm specified by the original SSH RFCs.

このアルコリズムは, よりよい代替アルゴリズムがあるにもかかわらず
もともとの SSH RFC で定義された公開鍵署名アルゴリズムのの中で
ただ1つ残ったアルゴリズムとして,
不幸なことにいまだ広く用いられている.

The better alternatives include:

次に示すものがよりよい代替だ:

 * The RFC8332 RSA SHA-2 signature algorithms rsa-sha2-256/512. These
   algorithms have the advantage of using the same key type as
   "ssh-rsa" but use the safe SHA-2 hash algorithms. These have been
   supported since OpenSSH 7.2 and are already used by default if the
   client and server support them.

   RFC8332 の RSA SHA-2 署名アルゴリズム rsa-sha-256/512.
   これらのアルゴリズムは "ssh-rsa" と同じ鍵タイプを用いる利点があり
   安全な SHA-2 ハッシュアルゴリズムを用いている. これらは
   OpenSSH 7.2 以降でサポートされており, クライアントとサーバが
   サポートしているならすでにデフォルトで用いられている.

 * The ssh-ed25519 signature algorithm. It has been supported in
   OpenSSH since release 6.5.

   ssh-ed25519 署名アルゴリズム. OpenSSH 6.5 以降でサポートされている.

 * The RFC5656 ECDSA algorithms: ecdsa-sha2-nistp256/384/521. These
   have been supported by OpenSSH since release 5.7.

   RFC5656 の ECDSA アルゴリズム: ecdsa-sha2-nistp256/384/521. These
   これらは OpenSSH 5.7 以降でサポートされている.

To check whether a server is using the weak ssh-rsa public key
algorithm, for host authentication, try to connect to it after
removing the ssh-rsa algorithm from ssh(1)'s allowed list:

サーバが, ホストの認証のために, 弱い ssh-rsa 公開鍵アルゴリズムを
利用しているか検査するには, ssh(1) の許可リストから ssh-rsa
アルゴリズムを除いたあとで接続を試行すればよい.

    ssh -oHostBasedKeyTypes=-ssh-rsa user@host

If the host key verification fails and no other supported host key
types are available, the the server software on that host should be
upgraded.

ホスト鍵検証が失敗し他にサポートされたホスト鍵の種類がない場合,
ホストのサーバソフトウェアをアップグレードする必要がある.

[1] "SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA-1 and
    Application to the PGP Web of Trust" Leurent, G and Peyrin, T
    (2020) https://eprint.iacr.org/2020/014.pdf

Security
========

セキュリティ

 * ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
   (RSA/SHA1) algorithm from those accepted for certificate signatures
   (i.e. the client and server CASignatureAlgorithms option) and will
   use the rsa-sha2-512 signature algorithm by default when the
   ssh-keygen(1) CA signs new certificates.

   ssh(1), sshd(8), ssh-keygen(1): このリリースで "ssh-rsa" (RSA/SHA1)
   アルゴリズムを 証明書の署名のために受け入れる署名 (すなわち,
   クライアントとサーバの CASignatureAlgorithms 設定項目) から除く.
   また, ssh-keygen(1) の CA が新しい証明書に署名する際の
   デフォルトのアルゴリズムとして rsa-sha2-512 署名アルゴリズムを
   利用する.

   Certificates are at special risk to the aforementioned SHA1
   collision vulnerability as an attacker has effectively unlimited
   time in which to craft a collision that yields them a valid
   certificate, far more than the relatively brief LoginGraceTime
   window that they have to forge a host key signature.

   証明書は前述の SHA1 衝突脆弱性に対して特別なリスクがある.
   攻撃者は正当な署名を生成する衝突を工夫するのに,
   実質的に無限の時間を使える.
   ホスト鍵の署名を攻撃者が偽造するには
   比較的に短時間な LoginGraceTime で指定された時間内に行なう必要がある.

   OpenSSH releases prior to 7.2 do not support the newer RSA/SHA2
   algorithms and will refuse to accept certificates signed by an
   OpenSSH 8.2+ CA using RSA keys. Older clients/servers may use
   another CA key type such as ssh-ed25519 (supported since OpenSSH
   6.5) or one of the ecdsa-sha2-nistp256/384/521 types (supported
   since OpenSSH 5.7) instead if they cannot be upgraded.

   7.2 より前の OpenSSH のリリースは, より新しい RSA/SHA2 アルゴリズムを
   をサポートしておらず, OpenSSH 8.2 以降の CA が RSA 鍵を用いて
   署名した証明書を受け入れられなくなる. 古いクライアント/サーバは,
   アップグレードできないならば, 代わりに (OpenSSH 6.5
   以降でサポートされている) ssh-ed25519 や (OpenSSH 5.7
   以降でサポートされている) ecdsa-sha2-nistp256/384/521
   のうちの1つのような 別の CA 鍵タイプを利用することになる.


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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するいくつかの変更がある.

 * ssh(1), sshd(8): the above removal of "ssh-rsa" from the accepted
   CASignatureAlgorithms list.

   ssh(1), sshd(8): 前述のように CASignatureAlgorithms
   で受け入れるリストから "ssh-rsa" を除去

 * ssh(1), sshd(8): this release removes diffie-hellman-group14-sha1
   from the default key exchange proposal for both the client and
   server.

   ssh(1), sshd(8): クライアントとサーバのデフォルトの鍵交換候補から
   diffie-hellman-group14-sha1 をこのリリースで除く.

 * ssh-keygen(1): the command-line options related to the generation
   and screening of safe prime numbers used by the
   diffie-hellman-group-exchange-* key exchange algorithms have
   changed. Most options have been folded under the -O flag.

   ssh-keygen(1): diffie-hellman-group-exchange-* 鍵交換アルゴリズムで
   用いられる安全な素数の生成と選別に関連するコマンドラインオプションが
   変更される. たいがいのオプションが -O フラグの下に畳み込まれる.

 * sshd(8): the sshd listener process title visible to ps(1) has
   changed to include information about the number of connections that
   are currently attempting authentication and the limits configured
   by MaxStartups.

   sshd(8): ps(1) で見れるsshd のリスナープロセスのタイトルが
   変更され, 現在認証を試行している接続の数と MaxStartups
   で設定された制限の情報を含むようになる.

Changes since OpenSSH 8.1
=========================

OpenSSH 8.1 からの変更点

This release contains some significant new features.

このリリースはいくつかの重大な新機能を含んでいる.

FIDO/U2F Support
----------------

FIDO/U2F サポート

This release adds support for FIDO/U2F hardware authenticators to
OpenSSH. U2F/FIDO are open standards for inexpensive two-factor
authentication hardware that are widely used for website
authentication.  In OpenSSH FIDO devices are supported by new public
key types "ecdsa-sk" and "ed25519-sk", along with corresponding
certificate types.

このリリースでは OpenSSH に FIDO/U2F ハードウェア認証器のサポートを
追加する. U2F/FIDO は ウェブサイトの認証に広く用いられている
安価な 2 要素認証ハードウェアのオープンな標準だ. OpenSSH では
FIDO デバイスは新しい "ecdsa-sk" と "ed25519-sk" 公開鍵鍵タイプと
関連する証明書のタイプをサポートする.

ssh-keygen(1) may be used to generate a FIDO token-backed key, after
which they may be used much like any other key type supported by
OpenSSH, so long as the hardware token is attached when the keys are
used. FIDO token also generally require the user explicitly authorise
operations by touching or tapping them.

ssh-keygen(1) は, FIDO のトークンに支援された鍵を生成するに使われるようになる.
これらの鍵が利用される際にハードウェアトークンが取り付けられているならば,
OpenSSH でサポートされた他の鍵タイプのように利用できる.
FIDO トークンはさらに, トークンに触れたり押したりすることでの
ユーザの明示的な許可を一般的に要求する.

Generating a FIDO key requires the token be attached, and will usually
require the user tap the token to confirm the operation:

FIDO キーの生成にはトークンが取り付けられていることが必要で,
ユーザがトークンをタップしての操作の確認が通常要求される.

  $ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk
  Generating public/private ecdsa-sk key pair.
  You may need to touch your security key to authorize key generation.
  Enter file in which to save the key (/home/djm/.ssh/id_ecdsa_sk): 
  Enter passphrase (empty for no passphrase): 
  Enter same passphrase again: 
  Your identification has been saved in /home/djm/.ssh/id_ecdsa_sk
  Your public key has been saved in /home/djm/.ssh/id_ecdsa_sk.pub

This will yield a public and private key-pair. The private key file
should be useless to an attacker who does not have access to the
physical token. After generation, this key may be used like any other
supported key in OpenSSH and may be listed in authorized_keys, added
to ssh-agent(1), etc. The only additional stipulation is that the FIDO
token that the key belongs to must be attached when the key is used.

公開鍵と秘密鍵のペアが生成される. 秘密鍵ファイルは物理トークンにアクセス
できない攻撃者には利用できないはずだ. 生成のあと, この鍵は OpenSSH の
他のサポートされた鍵のように利用できる. authorized_keys ファイルに列挙でき,
ssh-agent(1) に追加できる, などなど. 唯一の追加の条件は,
鍵を利用する際に鍵が属している FIDO トークンが取り付けられていなければならない
ことだ.

FIDO tokens are most commonly connected via USB but may be attached
via other means such as Bluetooth or NFC. In OpenSSH, communication
with the token is managed via a middleware library, specified by the
SecurityKeyProvider directive in ssh/sshd_config(5). OpenSSH includes
a middleware with support for USB tokens that is may be enabled in
portable OpenSSH via the --with-security-key-builtin configure flag
(it is enabled automatically in OpenBSD). This internal middleware
requires that libfido2 (https://github.com/Yubico/libfido2) and its
dependencies be installed. If the built-in middleware is enabled then
it will be used by default.

FIDO トークンは たいがい USB を用いて接続されるが, Bluetooth や
NFC といった手段でも取り付けられる. OpenSSH では, トークンとの通信は
ssh/sshd_config(5) の SecurityKeyProvider 設定項目で指定された
ミドルウェアライブラリで管理される. OpenSSH は USB トークンの
サポートのためのミドウウェアを含んでいて, 移植版 OpenSSH では
--with-security-key-builtin configure オプションで有効となる
(OpenBSD では自動的に有効だ). この内部ミドルウェアは
libfido2(https://github.com/Yubico/libfido2) と
このライブラリが依存するものがインストールされていることを要求する.
このビルトインミドルウェアが有効ならば デフォルトで利用される.

Note: FIDO/U2F tokens are required to implement the ECDSA-P256
"ecdsa-sk" key type, but hardware support for Ed25519 "ed25519-sk" is
less common. Similarly, not all hardware tokens support some of the
optional features such as resident keys.

注意: FIDO/U2F トークンは ECDSA-P256 "ecdsa-sk" 鍵タイプの実装が要求されている
が,  Ed25519 "ed25519-sk" のハードウェアサポートはより一般的ではない.
同様に, すべてのハードウェアトークンが resident key のような
追加の特徴をサポートしているわけではない.

The protocol-level changes to support FIDO/U2F keys in SSH are
documented in the PROTOCOL.u2f file in the OpenSSH source
distribution.

SSH での FIDO/U2F 鍵のサポートのためのプロトコルレベルでの変更は
OpenSSH ソース配布の PROTOCOL.u2f ファイルに文書化されている.

There are a number of supporting changes to this feature:

この特徴のための変更は次だ:

 * ssh-keygen(1): add a "no-touch-required" option when generating
   FIDO-hosted keys, that disables their default behaviour of
   requiring a physical touch/tap on the token during authentication.
   Note: not all tokens support disabling the touch requirement.

   ssh-keygen(1): FIDOに支援された鍵を生成する "no-touch-required"
   オプションを追加する. 認証の間にトークン上で物理的な タッチ/タップ
   を要求するデフォルトの振舞いを無効にする.
   注意: すべてのトークンがタッチ要求の無効をサポートするわけではない.

 * sshd(8): add a sshd_config PubkeyAuthOptions directive that
   collects miscellaneous public key authentication-related options
   for sshd(8). At present it supports only a single option
   "no-touch-required". This causes sshd to skip its default check for
   FIDO/U2F keys that the signature was authorised by a touch or press
   event on the token hardware.

   sshd(8): sshd_config に PubkeyAuthOptions 設定項目を追加する.
   sshd(8) に対するいろいろな公開鍵認証に関連したオプションを集める.
   現在唯一のオプション "no-touch-required" のみをサポートする.
   これは, sshd に対してトークンハードウェアのFIDO/U2F 鍵のデフォルトのチェック
   (署名がトークンハードウェア上でのタッチやプレスによって
   認証されたかどうか) をスキップする.

 * ssh(1), sshd(8), ssh-keygen(1): add a "no-touch-required" option
   for authorized_keys and a similar extension for certificates. This
   option disables the default requirement that FIDO key signatures
   attest that the user touched their key to authorize them, mirroring
   the similar PubkeyAuthOptions sshd_config option.

   ssh(1), sshd(8), ssh-keygen(1): authorized_keys に対する
   "no-touch-required" オプションと, 証明書に対する同様の拡張を追加する.
   このオプションは ユーザが署名を認証するために鍵に触れたかを証明する
   FIDO 鍵署名に対するデフォルトの要求を無効にする.
   同様に PubkeyAuthOptions sshd_config 設定項目と対になっている.

 * ssh-keygen(1): add support for the writing the FIDO attestation
   information that is returned when new keys are generated via the
   "-O write-attestation=/path" option. FIDO attestation certificates
   may be used to verify that a FIDO key is hosted in trusted
   hardware. OpenSSH does not currently make use of this information,
   beyond optionally writing it to disk.

   ssh-keygen(1): "-O write-attestation=/path" オプションよって新しい鍵が
   生成された際に返ってくる FIDO 認証情報を書き込みのサポートを追加する.
   FIDO 認証証明書は FIDO 鍵が信頼されたハードウェア上にあるかを検証するのに
   用いられることがある OpenSSH は現在オプションでディスクに書き込む以外では
   この情報は利用しない.

FIDO2 resident keys
-------------------

FIDO2 resident keys

FIDO/U2F OpenSSH keys consist of two parts: a "key handle" part stored
in the private key file on disk, and a per-device private key that is
unique to each FIDO/U2F token and that cannot be exported. These are
combined by the hardware at authentication time to derive the real key
that is used to sign authentication challenges.

FIDO/U2F OpenSSH 鍵は 2つの部分から構成される: "key handle" 部は
ディスク上に秘密鍵ファイル内に保存される.
デバイスごとの秘密鍵は それぞれの FIDO/U2F トークンについて唯一で
取り出すことができない. これらをハードウェアで組み合わせて認証時に
署名認証の挑戦に用いる実際の鍵を導出する.

For tokens that are required to move between computers, it can be
cumbersome to have to move the private key file first. To avoid this
requirement, tokens implementing the newer FIDO2 standard support
"resident keys", where it is possible to effectively retrieve the key
handle part of the key from the hardware.

コンピュータ間で移動する必要のあるトークンにとっては, 秘密鍵をまず
移動する必要があるのはやっかいとなりうる. この要求を避けるため,
より新しい FIDO2 標準がサポートする "resident keys" を実装したトークンは
ハードウェアから鍵の key handle 部分を効率的に取り出すことができる.

OpenSSH supports this feature, allowing resident keys to be generated
using the ssh-keygen(1) "-O resident" flag. This will produce a
public/private key pair as usual, but it will be possible to retrieve
the private key part from the token later. This may be done using
"ssh-keygen -K", which will download all available resident keys from
the tokens attached to the host and write public/private key files
for them. It is also possible to download and add resident keys
directly to ssh-agent(1) without writing files to the file-system
using "ssh-add -K".

OpenSSH はこの特徴をサポートする. ssh-keygen(1) の "-O resident"
を用いて resident keys を生成できる. これは 公開鍵/秘密鍵のペアを
通常のように生成するが, 後でトークンから秘密鍵の部分を取り出せる.
"ssh-keygen -K" を用いると, ホストに取り付けられたトークンから
すべての resident keys を ダウンロードし
公開鍵/秘密鍵ファイルに書き込む. "ssh-add -K" を用いると
ファイルシステムへファイルを書き込むことなく ssh-agent(1) に直接
resident keys をダウンロードできる.

Resident keys are indexed on the token by the application string and
user ID. By default, OpenSSH uses an application string of "ssh:" and
an empty user ID. If multiple resident keys on a single token are
desired then it may be necessary to override one or both of these
defaults using the ssh-keygen(1) "-O application=" or "-O user="
options. Note: OpenSSH will only download and use resident keys whose
application string begins with "ssh:"

resident keys は アプリケーション文字列とユーザIDにてトークン上で
インデックスされる. デフォルトで OpenSSH は アプリケーション文字列として
"ssh:" を利用する. ユーザID は利用しない(空). 1つのトークン上に複数の 
resident keys を配置したいなら, ssh-keygen(1) の "-O application=" か
"-O user=" オプションを用いて デフォルトの1つないし両方を上書きする
必要がある. 注意: OpenSSH は "ssh:" で始まるアプリケーション文字列を
持つ resident keys のみをダウンロード/使用する.

Storing both parts of a key on a FIDO token increases the likelihood
of an attacker being able to use a stolen token device. For this
reason, tokens should enforce PIN authentication before allowing
download of keys, and users should set a PIN on their tokens before
creating any resident keys.

FIDO トークン上に鍵の両方の部分を保持するのは, 攻撃者が盗んだトークン
デバイスを利用できる蓋然性を増やす. このため, 鍵のダウンロードの前に
PIN 認証をトークンは強制すべきで, ユーザは resident keys を作成する前に
トークンに PIN を設定すべきだ.

Other New Features
------------------

他の新機能

 * sshd(8): add an Include sshd_config keyword that allows including
   additional configuration files via glob(3) patterns. bz2468

   sshd(8): Include sshd_config キーワードを追加する. glob(3)
   のパターンで追加の設定ファイルを含むことができる. bz2468

 * ssh(1)/sshd(8): make the LE (low effort) DSCP code point available
   via the IPQoS directive; bz2986,

   ssh(1)/sshd(8): IPQoS 設定項目で LE(low effort) DSCP コードポイント
   が利用できる. bz2986

 * ssh(1): when AddKeysToAgent=yes is set and the key contains no
   comment, add the key to the agent with the key's path as the
   comment. bz2564

   ssh(1): AddKeysToAgent=yes が設定されていて鍵にコメントがない場合,
   エージェントへの鍵の追加時に鍵のパスがコメントとなる. bz2564
    
 * ssh-keygen(1), ssh-agent(1): expose PKCS#11 key labels and X.509
   subjects as key comments, rather than simply listing the PKCS#11
   provider library path. PR138

   ssh-keygen(1), ssh-agent(1): PKCS#11 のプロバイダライブラリ
   パスを単純に列挙するのではなく, 鍵のコメントとして PKCS#11 鍵ラベルと
   X.509 subject を露出する. PR138

 * ssh-keygen(1): allow PEM export of DSA and ECDSA keys; bz3091

   ssh-keygen(1): DSA と ECDSA 鍵の PEM エキスポートが可能になる; bz3091

 * ssh(1), sshd(8): make zlib compile-time optional, available via the
   Makefile.inc ZLIB flag on OpenBSD or via the --with-zlib configure
   option for OpenSSH portable.

   ssh(1), sshd(8): zlib がコンパイル時に選択可能になった(なしでもコンパイルできるようになった).
   OpenBSD の Makefile.inc ZLIB フラグか 移植版 OpenSSH の --with-zlib configure
   オプションで利用可能.

 * sshd(8): when clients get denied by MaxStartups, send a
   notification prior to the SSH2 protocol banner according to
   RFC4253 section 4.2.

   sshd(8): MaxStartups の制限でクライアントが接続できなかった場合
   RFC4253 4.2 節に従い SSH2 のプロトコルバナーより前に通知を送る.

 * ssh(1), ssh-agent(1): when invoking the $SSH_ASKPASS prompt
   program, pass a hint to the program to describe the type of
   desired prompt.  The possible values are "confirm" (indicating
   that a yes/no confirmation dialog with no text entry should be
   shown), "none" (to indicate an informational message only), or
   blank for the original ssh-askpass behaviour of requesting a
   password/phrase.

   ssh(1), ssh-agent(1): $SSH_ASKPASS プロンプトプログラムを起動する際
   望まれるプロンプトの種類を記述するヒントをプログラムに渡す.
   可能な値は "confirm" (テキストエントリが表示されない yes/no
   確認ダイアログを指定), "none" (情報メッセージのみを指定), もしくは
   元々のパスワード/パスフレーズを要求する ssh-askpass の振舞いのための
   ブランクだ.

 * ssh(1): allow forwarding a different agent socket to the path
   specified by $SSH_AUTH_SOCK, by extending the existing ForwardAgent
   option to accepting an explicit path or the name of an environment
   variable in addition to yes/no.

   ssh(1): $SSH_AUTH_SOCK で指定されたパスとは異なるエージェントソケットの
   転送を可能にする. 既存の ForwardAgent 設定項目を拡張し, yes/no
   だけではなく 明示的なパスや環境変数の名前を受け入れる.
   
 * ssh-keygen(1): add a new signature operations "find-principals" to
   look up the principal associated with a signature from an allowed-
   signers file.

   ssh-keygen(1): 新しい署名の操作 "find-principals" を追加する.
   許可された署名者のファイルから署名に基づく principal を検索する.
    
 * sshd(8): expose the number of currently-authenticating connections
   along with the MaxStartups limit in the process title visible to
   "ps".

   sshd(8): "ps" で見えるプロセスタイトルに 現在認証中の接続数と
   MaxStartups の制限を露出する.

Bugfixes
--------

バグ修正

 * sshd(8): make ClientAliveCountMax=0 have sensible semantics: it
   will now disable connection killing entirely rather than the
   current behaviour of instantly killing the connection after the
   first liveness test regardless of success. bz2627

   sshd(8): ClientAliveCountMax=0 にちゃんとした意味を持たせる:
   完全に接続を切断するようになる. 現在の振舞いは,
   最初の生存テストのあとで成功/失敗にかかわらず接続を単に切断する.
   bz2627
    
 * sshd(8): clarify order of AllowUsers / DenyUsers vs AllowGroups /
   DenyGroups in the sshd(8) manual page. bz1690

   sshd(8): sshd(8) のマニュアルで, AllowUsers / DenyUsers と
   AllowGroups / DenyGroups の順序を明確にする. bz1690

 * sshd(8): better describe HashKnownHosts in the manual page. bz2560

   sshd(8): マニュアルでの HashKnownHosts の記述を改善する. bz2560

 * sshd(8): clarify that that permitopen=/PermitOpen do no name or
   address translation in the manual page. bz3099

   sshd(8): マニュアルでの permitopen=/PermitOpen の記述で,
   名前やアドレスの変換をしないことを明確にする. bz3009

 * sshd(8): allow the UpdateHostKeys feature to function when
   multiple known_hosts files are in use. When updating host keys,
   ssh will now search subsequent known_hosts files, but will add
   updated host keys to the first specified file only. bz2738

   ssh(1) な気がする.

   sshd(8): 複数の known_hosts ファイルを利用する際に
   UpdateHostKeys が機能するようにする. ホスト鍵を更新する際
   ssh は最初以外のknown_hosts 鍵も検索するようになるが
   最初に指定されたファイルにのみ更新されたホスト鍵を追加する.
   bz2738
    
 * All: replace all calls to signal(2) with a wrapper around
   sigaction(2). This wrapper blocks all other signals during the
   handler preventing races between handlers, and sets SA_RESTART
   which should reduce the potential for short read/write operations.

   すべて: sigaction(2) の wrapper で signal(2) のすべての呼び出しを
   更新する. この wrapper は ハンドラ内で他のすべてのシグナルをブロックして
   ハンドラ間の競合を防止し, 短い read/write 操作の可能性を減らす
   SA_RESTART を指定する.
    
 * sftp(1): fix a race condition in the SIGCHILD handler that could
   turn in to a kill(-1); bz3084

   sftp(1): kill(-1) で発生する SIGCHILD ハンドラの競合状態を修正する.
   bz3084

 * sshd(8): fix a case where valid (but extremely large) SSH channel
   IDs were being incorrectly rejected. bz3098

   sshd(8): 正当な(ただし非常に大きい) SSH チャンネル ID が
   不正に拒否されている場合を修正する. bz3098

 * ssh(1): when checking host key fingerprints as answers to new
   hostkey prompts, ignore whitespace surrounding the fingerprint
   itself.

   ssh(1): 新しいホストキーのプロンプトの回答としてホスト鍵指紋を
   チェックする際, 指紋自体の周りの空白を無視する.

 * All: wait for file descriptors to be readable or writeable during
   non-blocking connect, not just readable. Prevents a timeout when
   the server doesn't immediately send a banner (e.g. multiplexers
   like sslh)

   すべて: ノンブロッキングの接続で, 読み込み可能だけではなく
   読み込み可能か書き込み可能になるまでファイルデスクリプタを待つ.
   サーバがすぐにバナーを送ってこない場合
   (たとえば sslh のようなマルチプレクサ) のタイムアウトを防ぐ.
 
 * sshd_config(5): document the sntrup4591761x25519-sha512@tinyssh.org
   key exchange algorithm. PR#151

   sshd_config(5): sntrup4591761x25519-sha512@tinyssh.org
   鍵交換アルゴリズムについて記述する. PR#151

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

移植性

 * sshd(8): multiple adjustments to the Linux seccomp sandbox:
   - Non-fatally deny IPC syscalls in sandbox
   - Allow clock_gettime64() in sandbox (MIPS / glibc >= 2.31)
   - Allow clock_nanosleep_time64 in sandbox (ARM) bz3100
   - Allow clock_nanosleep() in sandbox (recent glibc) bz3093

 * sshd(8): Linux seccomp サンドボックスへの複数の調整:
   - サンドボックスで IPC syscalls を致命的ではなく否定する
   - サンドボックスで clock_gettime64() を許可する (MIPS / glibc >= 2.31)
   - サンドボックスで clock_nanosleep_time64 を許可する (ARM) bz3100
   - サンドボックスで clock_nanosleep() を許可する (recent glibc) bz3093

 * Explicit check for memmem declaration and fix up declaration if the
   system headers lack it. bz3102

 * memmem 宣言の明示的なチェックとシステムヘッダで宣言がない場合に宣言を修正する.
   bz3102

OpenSSH 8.1 がリリースされました

9 Oct, 2019 - 8 minutes

2019/10/09, OpenSSH 8.1 がリリースされました.

https://www.openssh.com/txt/release-8.1

Security
========

セキュリティ

 * ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): an exploitable integer
   overflow bug was found in the private key parsing code for the XMSS
   key type. This key type is still experimental and support for it is
   not compiled by default. No user-facing autoconf option exists in
   portable OpenSSH to enable it. This bug was found by Adam Zabrocki
   and reported via SecuriTeam's SSD program.

   ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): XMSS 鍵タイプの秘密鍵を
   をパースするコードに悪用可能な整数オーバフローが見つかった. この鍵
   タイプはまだ実験的でコンパイル時にデフォルトでサポートされない.
   移植版 OpenSSH にこれを有効にするユーザ向けのオプションは存在しない.
   このバグは Adam Zabrocki によって発見され, SecuriTeam の SSD
   プログラムによって報告された.

 * ssh(1), sshd(8), ssh-agent(1): add protection for private keys at
   rest in RAM against speculation and memory side-channel attacks like
   Spectre, Meltdown and Rambleed. This release encrypts private keys
   when they are not in use with a symmetric key that is derived from a
   relatively large "prekey" consisting of random data (currently 16KB).

   ssh(1), sshd(8), ssh-agent(1): RAMに存在する秘密鍵に対して,
   Spectre, Meltdown, Rambleed のような推測やメモリサイドチャネル攻撃
   に対する保護を追加する. ランダムなデータ (現在は 16KB) で構成される
   相対的に大きな "prekey" から導出される対称鍵を秘密鍵が利用していない場合,
   このリリースでは秘密鍵を暗号化する.

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更をいくつか含んでいる.

 * ssh-keygen(1): when acting as a CA and signing certificates with
   an RSA key, default to using the rsa-sha2-512 signature algorithm.
   Certificates signed by RSA keys will therefore be incompatible
   with OpenSSH versions prior to 7.2 unless the default is
   overridden (using "ssh-keygen -t ssh-rsa -s ...").

   ssh-keygen(1): CA として振舞い RSA 鍵で証明書に署名する場合,
   rsa-sha2-512 署名アルゴリズムをデフォルトで利用する.
   RSA 鍵で署名された証明書は, デフォルトを上書きしないと
   ("ssh-keygen -t ssh-rsa -s ..." を用いる) 7.2 より前の OpenSSH
   のバージョンを非互換となる.

Changes since OpenSSH 8.0
=========================

OpenSSH 8.0 からの変更

This release is focused on bug-fixing.

このリリースはバグ修正に焦点を当てている.

New Features
------------

新機能

 * ssh(1): Allow %n to be expanded in ProxyCommand strings

   ssh(1): ProxyCommand 文字列中の展開に %n を許可する.

 * ssh(1), sshd(8): Allow prepending a list of algorithms to the
   default set by starting the list with the '^' character, E.g.
   "HostKeyAlgorithms ^ssh-ed25519"

   ssh(1), sshd(8): '^' 文字を用いてアルゴリスムのリストを始めることで
   アルゴリズムのデフォルトの集合の前にアルゴリズムのリストを追加できる.
   例えば "HostKeyAlgorithms ^ssh-ed25519"

 * ssh-keygen(1): add an experimental lightweight signature and
   verification ability. Signatures may be made using regular ssh keys
   held on disk or stored in a ssh-agent and verified against an
   authorized_keys-like list of allowed keys. Signatures embed a
   namespace that prevents confusion and attacks between different
   usage domains (e.g. files vs email).

   ssh-keygen(1): 実験的な軽量な署名と検証の能力を追加する.
   署名はディスクか ssh-agent に格納された通常の ssh 鍵を用いて
   作成され, 検証は authorized_keys のような許可された鍵のリストに対して
   行なわれる. 署名は, 衝突や異なる利用ドメイン(例えば ファイルとEメール)
   の間の攻撃を防ぐ名前空間を埋め込む.

 * ssh-keygen(1): print key comment when extracting public key from a
   private key.  bz#3052

   ssh-keygen(1): 秘密鍵から公開鍵を抽出する際に鍵のコメントを表示する.
   bz#3052

 * ssh-keygen(1): accept the verbose flag when searching for host keys
   in known hosts (i.e. "ssh-keygen -vF host") to print the matching
   host's random-art signature too. bz#3003

   ssh-keygen(1)): known hosts 中のホスト鍵の検索時に verbose フラグを
   受け入れる (例えば "ssh-keygen -vF host""]) このとき
   ホストのランダムアートな署名も表示する. bz#3003

 * All: support PKCS8 as an optional format for storage of private
   keys to disk.  The OpenSSH native key format remains the default,
   but PKCS8 is a superior format to PEM if interoperability with
   non-OpenSSH software is required, as it may use a less insecure
   key derivation function than PEM's.

   すべて: 秘密鍵をディスクに保存するオプションの形式として PKCS8
   をサポートする. OpenSSH のネイティブな鍵形式はデフォルトのままだが,
   PKCS8 は 非OpenSSH ソフトウェアとの相互互換性が要求される場合
   PEM よりもすぐれた形式だ. たとえ PEM よりも より安全でない鍵導出関数
   が利用されていても.

Bugfixes
--------

バグ修正

 * ssh(1): if a PKCS#11 token returns no keys then try to login and
   refetch them. Based on patch from Jakub Jelen; bz#2430

   ssh(1): PKCS#11 トークンが鍵を返さない場合, ログインを試み
   鍵をリフレッシュする. Jakub Jelen のパッチを基とする. bz#2430

 * ssh(1): produce a useful error message if the user's shell is set
   incorrectly during "match exec" processing. bz#2791

   ssh(1): ユーザのシェルが "match exec" 処理中に不正に設定されたら
   わかりやすいエラーメッセージを生成する.

 * sftp(1): allow the maximum uint32 value for the argument passed
   to -b which allows better error messages from later validation.
   bz#3050

   sftp(1): それ以降の検証からよりよいエラーメッセージを出すために
   -b で渡される引数に uint32 の最大値を許可する. bz#3050

 * ssh(1): avoid pledge sandbox violations in some combinations of
   remote forwarding, connection multiplexing and ControlMaster.

   ssh(1): リモート転送と接続の多重化と ControlMaster の組合せによる
   サンドボックスの侵入を回避する.

 * ssh-keyscan(1): include SHA2-variant RSA key algorithms in KEX
   proposal; allows ssh-keyscan to harvest keys from servers that
   disable old SHA1 ssh-rsa. bz#3029

   ssh-keyscan(1): KEX の提案に SHA2に由来する RSA 鍵アルゴリズムを含む.
   ssh-keyscan が 古い SHA1 ssh-rsa を無効にしたサーバから
   鍵を収集することを許可する.

 * sftp(1): print explicit "not modified" message if a file was
   requested for resumed download but was considered already complete.
   bz#2978

   sftp(1): ファイルが中断されたダウンロードを要求され,
   すでに完了していると 思われる場合, 明確な "not modified" メッセージを
   を表示する. bz#2978

 * sftp(1): fix a typo and make <esc><right> move right to the
   closest end of a word just like <esc><left> moves left to the
   closest beginning of a word.

   sftp(1): typo を修正する. また <esc><left> が 単語の最短の
   先頭まで左に移動するように, <esc><right> で単語の最短の終了
   まで右に移動するようにする.

 * sshd(8): cap the number of permitopen/permitlisten directives
   allowed to appear on a single authorized_keys line.

   sshd(8): 単一の authorized_keys 行に現れることを許す
   permitopen/permitlisten 設定項目の数に上限を設ける.

 * All: fix a number of memory leaks (one-off or on exit paths).

   すべて: (一度限りや終了のパス上の) 多数のメモリーリークを修正する.

 * Regression tests: a number of fixes and improvements, including
   fixes to the interop tests, adding the ability to run most tests
   on builds that disable OpenSSL support, better support for running
   tests under Valgrind and a number of bug-fixes.

   回帰テスト: 多数の修正と改善. 相互互換性のテストの修正や OpenSSL 
   サポートが無効な場合のビルドのより大くのテストの追加, Valgrind 下での
   テストの実行のよりよいサポートとたくさんのバグ修正.

 * ssh(1), sshd(8): check for convtime() refusing to accept times that
   resolve to LONG_MAX Reported by Kirk Wolf bz2977

   ssh(1), sshd(8): LONG_MAX に解決される時間を拒否するよう convtme()
   のためのチェックを行なう. Kirk Wolf による報告 bz2977

 * ssh(1): slightly more instructive error message when the user
   specifies multiple -J options on the command-line. bz3015

   ssh(1): ユーザがコマンドラインで複数の -J オプションを指定した場合に
   よりわかりやすいエラーメッセージを表示する.

 * ssh-agent(1): process agent requests for RSA certificate private
   keys using correct signature algorithm when requested. bz3016

   ssh-agent(1): 要求時に正しい署名アルゴリズムを用いる RSA
   証明書秘密鍵に対する要求を処理する. bz3016

 * sftp(1): check for user@host when parsing sftp target. This
   allows user@[1.2.3.4] to work without a path.  bz#2999

   sftp(1): sftp 対象のパース時に user@host をチェックする.
   これにより パスなしで user@[1.2.3.4] を許可する.
   bz#2999

 * sshd(8): enlarge format buffer size for certificate serial
   number so the log message can record any 64-bit integer without
   truncation. bz#3012

   sshd(8): 証明書のシリアル番号のバッファサイズを増大し, 
   打ち切りなしで任意の 64ビット整数をログメッセージに記録
   できるようになる. bz#3012

 * sshd(8): for PermitOpen violations add the remote host and port to
   be able to more easily ascertain the source of the request. Add the
   same logging for PermitListen violations which where not previously
   logged at all.

   sshd(8): PermitOpen の違反で, リクエストのソースをより簡単に確認
   できるように リモートホストとポートを追加する.
   また, それまでまったくログされていない PermitListen による違反が,
   同様に記録される.

 * scp(1), sftp(1): use the correct POSIX format style for left
   justification for the transfer progress meter. bz#3002

   scp(1), sftp(1): 転送プログレムメーターの左詰めに
   正しい POSIX 形式のスタイルを利用する. bz#3002

 * sshd(8) when examining a configuration using sshd -T, assume any
   attribute not provided by -C does not match, which allows it to work
   when sshd_config contains a Match directive with or without -C.
   bz#2858

   sshd(8): sshd -T を用いて設定の検査をする場合, -C によって提供されない
   どんな属性とも一致しないと仮定する. -C があってもなくても Match
   設定項目を含む sshd_config で動作するようにする. bz#2858

 * ssh(1), ssh-keygen(1): downgrade PKCS#11 "provider returned no
   slots" warning from log level error to debug. This is common when
   attempting to enumerate keys on smartcard readers with no cards
   plugged in. bz#3058

   ssh(1), ssh-keygen(1): PKCS#11 の "provider returned no slots"
   警告のログレベルを error から debug にダウングレードする.
   カードが挿入されていないスマートカードリーダー上での
   鍵を列挙しようとする試行時の共通の振舞いだ. bz#3058

 * ssh(1), ssh-keygen(1): do not unconditionally log in to PKCS#11
   tokens. Avoids spurious PIN prompts for keys not selected for
   authentication in ssh(1) and when listing public keys available in
   a token using ssh-keygen(1). bz#3006

   ssh(1), ssh-keygen(1): PKCS#11 トークンに絶対にログインしない.
   ssh(1) の認証で選択されていない鍵に対する偽のPINプロンプトや
   ssh-keygen(1) を用いたトークンで利用可能な公開鍵の列挙を防ぐ.
   bz#3006

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

移植性

 * ssh(1): fix SIGWINCH delivery of Solaris for multiplexed sessions
   bz#3030

   ssh(1): 多重化されたセッションでの SIGWINCH 転送を修正. bz#3030

 * ssh(1), sshd(8): fix typo that prevented detection of Linux VRF

   ssh(1), sshd(8): Linux VRF での 予防された検出での typo を修正する

 * sshd(8): add no-op implementation of pam_putenv to avoid build
   breakage on platforms where the PAM implementation lacks this
   function (e.g. HP-UX). bz#3008

   sshd(8): PAMの実装が pam_putenv を欠いている (例えば HP-UX)
   プラットフォームでのビルドの失敗を回避するために pam_putenv の
   なにもしない実装を追加する. ba#3008

 * sftp-server(8): fix Solaris privilege sandbox from preventing
   the legacy sftp rename operation from working (was refusing to
   allow hard links to files owned by other users). bz#3036

   sftp-server(8): (ハードリンクを他のユーザが所有するファイルに対して拒否する)
   働きから レガシーな sftp の rename 操作を防止する Solaris
   の特権サンドボックスを修正する. bz#3036

 * All: add a proc_pidinfo()-based closefrom() for OS X to avoid
   the need to brute-force close all high-numbered file descriptors.
   bz#3049

   すべて: proc_pidinfo() ベースの closefrom() を OS X に追加する.
   すべてのファイルデスクリプタをブルートフォースで閉める必要を
   回避する. bz#3049

 * sshd(8): in the Linux seccomp-bpf sandbox, allow mprotect(2) with
   PROT_(READ|WRITE|NONE) only. This syscall is used by some hardened
   heap allocators. Github PR#142

   sshd(8): Linux の seccomp-bpf サンドボックス中で, PROT_(READ|WRITE|NONE)
   のみを mprotect(2) に許す. このシステムコールは, いくかの強化された
   ヒープアロケーターで用いられている. Github PR#142

 * sshd(8): in the Linux seccomp-bpf sandbox, allow the s390-specific
   ioctl for ECC hardware support.

   sshd(8): Linux の seccomp-bpf サンドボックス中で, ECC ハードウェア
   サポートのために s390 特有の ioctl を許可する.

 * All: use "doc" man page format if the mandoc(1) tool is present on
   the system. Previously configure would not select the "doc" man
   page format if mandoc was present but nroff was not.

   All: mandoc(1) ツールがシステムにある場合 "doc" man ページ形式を
   利用する. 以前の設定では, mandoc が存在し nroff が存在しない場合に
   "doc" man ページ形式を選択していなかった.

 * sshd(8): don't install duplicate STREAMS modules on Solaris; check
   if STREAMS modules are already installed on a pty before installing
   since when compiling with XPG>=4 they will likely be installed
   already. Prevents hangs and duplicate lines on the terminal.
   bz#2945 and bz#2998,

   sshd(8): ソラリスで重複した STREAMS モジュールをインストールしない.
   XPG>=4 でコンパイルする場合, STREAMS モジュールがインストール
   されている可能性が高いのでインストール前に pty 上に STREAMS
   モジュールが既にインストールされているか検査する. 
   ターミナル上でのハングや重複行を防ぐ. bz#2945 と bz#2998

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

1 Oct, 2019 - 7 minutes

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

Call for testing: OpenSSH 8.1

バグ修正に重点がおかれたリリースになる模様です.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-October/037946.html

Security
========

セキュリティ

 * ssh(1), sshd(8), ssh-agent(1): add protection for private keys at
   rest in RAM against speculation and memory sidechannel attacks like
   Spectre, Meltdown and Rambleed. This release encrypts private keys
   when they are not in use with a symmetic key that is derived from a
   relatively large "prekey" consisting of random data (currently 16KB).
   Attackers must recover the entire prekey before they are able to
   decrypt the protected private keys, but the current generation of
   attacks have bit error rates that render this unlikely to be
   practical.

   ssh(1), sshd(8), ssh-agent(1): RAMに存在する秘密鍵に対して,
   Spectre, Meltdown, Rambleed のような推測やメモリサイドチャネル攻撃
   に対する保護を追加する. ランダムなデータ (現在は 16KB) で構成される
   相対的に大きな "prekey" から導出される対称鍵を秘密鍵が利用していない場合,
   このリリースでは秘密鍵を暗号化する.
   攻撃者は保護された秘密鍵を復号する前に完全な prekey
   を復元しなければならない, 現在の世代の攻撃はこれを実際に行なうには
   ビット誤り率が高い.

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

潜在的に非互換な変更

This release includes one change that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更を1つ含んでいる.

 * ssh-keygen(1): when acting as a CA and signing certificates with
   an RSA key, default to using the rsa-sha2-512 signature algorithm.
   Certificates signed by RSA keys will therefore be incompatible
   with OpenSSH versions prior to 7.2 unless the default is
   overridden (using "ssh-keygen -t ssh-rsa -s ...").

   ssh-keygen(1): CA として振舞い RSA 鍵で証明書に署名する場合,
   rsa-sha2-512 署名アルゴリズムをデフォルトで利用する.
   RSA 鍵で署名された証明書は, デフォルトを上書きしないと
   ("ssh-keygen -t ssh-rsa -s ..." を用いる) 7.2 より前の OpenSSH
   のバージョンを非互換となる.

Changes since OpenSSH 8.0
=========================

OpenSSH 8.0 からの変更

This release is focused on bugfixing.

このリリースはバグ修正に集中している.

New Features
------------

新機能

 * ssh(1): Allow %n to be expanded in ProxyCommand strings

   ssh(1): ProxyCommand 文字列中の展開に %n を許可する.

 * ssh(1), sshd(8): Allow prepending a list of algorithms to the
   default set by starting the list with the '^' character, E.g.
   "HostKeyAlgorithms ^ssh-ed25519"

   ssh(1), sshd(8): '^' 文字を用いてアルゴリスムのリストを始めることで
   アルゴリズムのデフォルトの集合の前にアルゴリズムのリストを追加できる.
   例えば "HostKeyAlgorithms ^ssh-ed25519"

 * ssh-keygen(1): add an experimental lightweight signature and
   verification ability. Signatures may be made using regular ssh keys
   held on disk or stored in a ssh-agent and verified against an
   authorized_keys-like list of allowed keys. Signatures embed a
   namespace that prevents confusion and attacks between different
   usage domains (e.g. files vs email).

   ssh-keygen(1): 実験的な軽量署名と検証の能力を追加する.
   署名はディスクか ssh-agent に格納された通常の ssh 鍵を用いて
   作成され, 検証は authorized_keys のような許可された鍵のリストに対して
   行なわれる. 署名は, 衝突や異なる利用ドメイン(例えば ファイルとEメール)
   の間の攻撃を防ぐ名前空間を埋め込む.

 * ssh-keygen(1): print key comment when extracting publc key from a
   private key.  bz#3052

   ssh-keygen(1): 秘密鍵から公開鍵を抽出る際に鍵のコメントを表示する.
   bz#3052

 * ssh-keygen(1): accept the verbose flag when searching for host keys
   in known hosts (i.e. "ssh-keygen -vF host") to print the matching
   host's random-art signature too. bz#3003

   ssh-keygen(1)): known hosts の ホスト鍵の検索時に verbose フラグを
   受け入れる (例えば "ssh-keygen -vF host""]) このとき
   ホストのランダムアートな署名も表示する. bz#3003

 * All: support PKCS8 as an optional format for storage of private
   keys to disk.  The OpenSSH native key format remains the default,
   but PKCS8 is a superior format to PEM if interoperability with
   non-OpenSSH software is required, as it may use a less insecure
   key derivation function than PEM's.

   All: 秘密鍵をディスクに保存するオプションの形式として PKCS8
   をサポートする. OpenSSH のネイティブな鍵形式はデフォルトのままだが,
   PKCS8 は 非OpenSSH ソフトウェアとの相互互換性が要求される場合
   PEM よりもすぐれた形式だ. たとえ PRM よりも より安全でない鍵導出関数
   が利用されていても.

Bugfixes
--------

バグ修正

 * ssh(1): if a PKCS#11 token returns no keys then try to login and
   refetch them. Based on patch from Jakub Jelen; bz#2430

   ssh(1): PKCS#11 トークンが鍵を返さない場合, ログインを試み
   鍵をリフレッシュする. Jakub Jelen のパッチを基とする. bz#2430

 * ssh(1): produce a useful error message if the user's shell is set
   incorrectly during "match exec" processing. bz#2791

   ssh(1): ユーザのシェルが "match exec" 処理中に不正に設定されたら
   わかりやすいエラーメッセージを生成する.

 * sftp(1): allow the maximimum uint32 value for the argument passed
   to -b which allows better error messages from later validation.
   bz#3050

   sftp(1): それ以降の検証からよりよいエラーメッセージを出すために
   -b で渡される引数に uint32 の最大値を許可する.

 * ssh(1): avoid pledge sandbox violations in some combinations of
   remote forwarding, connection multiplexing and ControlMaster.

   ssh(1): リモート転送と接続の多重化と ControlMaster の組合せによる
   サンドボックスの侵入を回避する.

 * ssh-keyscan(1): include SHA2-variant RSA key algorithms in KEX
   proposal; allows ssh-keyscan to harvest keys from servers that
   disable olde SHA1 ssh-rsa. bz#3029

   ssh-keyscan(1): KEX の提案に SHA2に由来する RSA 鍵アルゴリズムを含む.
   ssh-keyscan が 古い SHA1 ssh-rsa を無効にしたサーバから
   鍵を収集することを許可する.

 * sftp(1): print explicit "not modified" message if a file was
   requested for resumed download but was considered already complete.
   bz#2978

   sftp(1): ファイルが中断されたダウンロードを要求され,
   すでに完了していると 思われる場合, 明白な "not modified" メッセージを
   を表示する. bz#2978

 * sftp(1): fix a typo and make <esc><right> move right to the
   closest end of a word just like <esc><left> moves left to the
   closest beginning of a word.

   sftp(1): typo を修正する. また <esc><left> が 単語の最短の
   先頭まで左に移動するように, <esc><right> で単語の最短の終了
   まで右に移動するようにする.

 * sshd(8): cap the number of permiopen/permitlisten directives
   allowed to appear on a single authorized_keys line.

   sshd(8): 単一の authorized_keys 行に現れることを許す
   permiopen/permitlisten 設定項目の数に上限を設ける.

 * All: fix a number of memory leaks (one-off or on exit paths).

   All: (一度限りや終了のパス上の) 多数のメモリーリークを修正する.

 * Regression tests: a number of fixes and improvments, including
   fixes to the interop tests, adding the ability to run most tests
   on builds that disable OpenSSL support, better support for running
   tests under Valgrind and a number of bugfixes.

   回帰テスト: 多数の修正と改善. 相互互換性のテストの修正や OpenSSL 
   サポートが無効な場合のビルドのより大くのテストの追加, Valgrind 下での
   テストの実行のよりよいサポートとたくさんのバグ修正.

 * ssh(1), sshd(8): check for convtime() refusing to accept times that
   resolve to LONG_MAX Reported by Kirk Wolf bz2977

   ssh(1), sshd(8): LONG_MAX に解決される時間を拒否するよう convtme()
   のためのチェックを行なう. Kirk Wolf による報告 bz#2977

 * ssh(1): slightly more instructive error message when the user
   specifies multiple -J options on the commandline. bz3015

   ssh(1): ユーザがコマンドラインで複数の -J オプションを指定した場合に
   よりわかりやすいエラーメッセージを表示する.

 * ssh-agent(1): process agent requests for RSA certificate private
   keys using correct signature algorithm when requested. bz3016

   ssh-agent(1): 要求時に正しい署名アルゴリズムを用いる RSA
   証明書秘密鍵に対する要求を処理する.

 * sftp(1): check for user@host when parsing sftp target. This
   allows user@[1.2.3.4] to work without a path.  bz#2999

   sftp(1): sftp 対象のパース時に user@host をチェッする. 
   これにより パスなしで user@[1.2.3.4] を許可する.
   bz#2999

 * sshd(8): enlarge format buffer size for certificate serial
   number so the log message can record any 64-bit integer without
   truncation. bz#3012

   sshd(8): 証明書のシリアル番号のバッファサイズを増大し, 
   打ち切りなしで任意の 64ビット整数をログメッセージに記録
   できるようになる.

 * sshd(8): for PermitOpen violations add the remote host and port to
   be able to more easily ascertain the source of the request. Add the
   same logging for PermitListen violations which where not previously
   logged at all.

   sshd(8): PermitOpen による違反が, 要求の源をより簡単に確認できるように
   リモートホストとポートを追加する.
   それまでまったくログされていない PermitListen による違反が, 
   同様に記録される.

 * scp(1), sftp(1): use the correct POSIX format style for left
   justification for the transfer progress meter. bz#3002

   scp(1), sftp(1): 転送プログレムメーターの左詰めに
   正しい POSIX 形式のスタイルを利用する. bz#3002

 * sshd(8) when examining a configureation using sshd -T, assume any
   attibute not provided by -C does not match, which allows it to work
   when sshd_config contains a Match directive with or without -C.
   bz#2858

   sshd(8): sshd -T を用いて設定の検査をする場合, -C のよって提供される
   どんな属性も一致しないと仮定する. -C があってもなくても Match
   設定項目を含む sshd_config で動作するようにする. bz#2858

 * ssh(1), ssh-keygen(1): downgrade PKCS#11 "provider returned no
   slots" warning from log level error to debug. This is common when
   attempting to enumerate keys on smartcard readers with no cards
   plugged in. bz#3058

   ssh(1), ssh-keygen(1): デバッグのためのログレベルエラーから
   PKCS#11 の "provider returned no slots" 警告のダウングレードする.
   スマートカードが挿入されていない場合のスマートカードリーダーの
   鍵列挙試行における共有の振舞いだ. bz#3058

 * ssh(1), ssh-keygen(1): do not unconditionally log in to PKCS#11
   tokens. Avoids spurious PIN prompts for keys not selected for
   authentication in ssh(1) and when listing public keys available in
   a token using ssh-keygen(1). bz#3006

   ssh(1), ssh-keygen(1): PKCS#11 トークンに絶対にログインしない.
   ssh(1) の認証で選択されていない鍵に対する偽のPINプロンプトや
   ssh-keygen(1) を用いたトークンで利用可能な公開鍵の列挙を防ぐ.

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

移植性

 * ssh(1): fix SIGWINCH delivery of Solaris for multiplexed sessions
   bz#3030

   ssh(1): 多重化されたセッションでの SIGWINCH 転送を修正. bz#3030

 * ssh(1), sshd(8): fix typo that prevented detection of Linux VRF

   ssh(1), sshd(8): Linux VRF での 予防された検出での typo を修正する

 * sshd(8): add no-op implementation of pam_putenv to avoid build
   breakage on platforms where the PAM implementation lacks this
   function (e.g. HP-UX). bz#3008

   sshd(8): PAMの実装が pam_putenv を欠いている (例えば HP-UX)
   プラットフォームでのビルドの失敗を回避するために pam_putenv の
   なにもしない実装を追加する. ba#3008

 * sftp-server(8): fix Solaris privilege sandbox from preventing
   the legacy sftp rename operation from working (was refusing to
   allow hard links to files owned by other users). bz#3036

   sftp-server(8): (ハードリンクを他のユーザが所有するファイルに対して拒否する)
   働きから レガシーな sftp の rename 操作を防止するSolaris
   の特権サンドボックスを修正する.

 * All: add a proc_pidinfo()-based closefrom() for OS X to avoid
   the need to brute-force close all high-numbered file descriptors.
   bz#3049

   proc_pidinfo() ベースの closefrom() を OS X に追加する.
   すべてのファイルデスクリプタをブルートフォースで閉める必要を
   回避する.

 * sshd(8): in the Linux seccomp-bpf sandbox, allow mprotect(2) with
   PROT_(READ|WRITE|NONE) only. This syscall is used by some hardened
   heap allocators. Github PR#142

   sshd(8): Linux の seccomp-bpf サンドボックス中で, PROT_(READ|WRITE|NONE) 
   のみを mprotect(2) に許す. このシステムコールは, いくかの強化された
   ヒープアロケーターで用いられている. Github PR#142

 * sshd(8): in the Linux seccomp-bpf sandbox, allow the s390-specific
   ioctl for ecc hardware support.

   sshd(8): Linux の seccomp-bpf サンドボックス中で, ecc のハードウェア
   サポートのために s390 特有の ioctl を許可する.

 * All: use "doc" man page format if the mandoc(1) tool is present on
   the system. Previously configure would not select the "doc" man
   page format if mandoc was present but nroff was not.

   All: mandoc(1) ツールがシステムにある場合 "doc" man ページ形式を
   利用する. 以前の設定では, mandoc が存在し nroff が存在しない倍に
   "doc" man ページ形式を選択していなかった.

 * sshd(8): don't install duplicate STREAMS modules on Solaris; check
   if STREAMS modules are already installed on a pty before installing
   since when compiling with XPG>=4 they will likely be installed
   already. Prevents hangs and duplicate lines on the terminal.
   bz#2945 and bz#2998,

   sshd(8): ソラリスで重複した STREAMS モジュールをインストールしない.
   XPG>=4 でコンパイルする場合, STREAMS モジュールがインストールされている可能性が高いので
   インストール前に pty 上に STREAMS モジュールが既にインストールされているか
   検査する. ターミナル上でのハングや重複行を防ぐ. bz#2945 と bz#2998

OpenSSH 8.0 がリリースされました

18 Apr, 2019 - 10 minutes

2019/04/17, OpenSSH 8.0 がリリースされました.

https://www.openssh.com/txt/release-8.0

Security
========

セキュリティ

This release contains mitigation for a weakness in the scp(1) tool
and protocol (CVE-2019-6111): when copying files from a remote system
to a local directory, scp(1) did not verify that the filenames that
the server sent matched those requested by the client. This could
allow a hostile server to create or clobber unexpected local files
with attacker-controlled content.

このリリースは, scp(1) ツールとプロトコルの問題 (CVE-2019-6111) の緩和を含んでいる:
リモートのシステムからローカルのディレクトリにファイルをコピーする際に,
scp(1) は, サーバが送信したファイル名がクライアントによって要求されたものと
一致するかどうかを検証していない. これを利用して, 悪意のあるサーバが攻撃者が
制御する内容で予期しないローカルファイルを作成したり変更する可能性がある.

This release adds client-side checking that the filenames sent from
the server match the command-line request,

このリリースでサーバから送られたファイル名がコマンドラインの要求と
一致するかどうかのクライアント側でのチェックを追加する.

The scp protocol is outdated, inflexible and not readily fixed. We
recommend the use of more modern protocols like sftp and rsync for
file transfer instead.

scp プロトコルは時代遅れで, 柔軟性がなく, 簡単に修正できない.
ファイル転送には scp の代わりに sftp や rsync にようなより
現代的なプロトコルの利用を推奨する.

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更がいくつか含まれている:

 * scp(1): Relating to the above changes to scp(1); the scp protocol
   relies on the remote shell for wildcard expansion, so there is no
   infallible way for the client's wildcard matching to perfectly
   reflect the server's. If there is a difference between client and
   server wildcard expansion, the client may refuse files from the
   server. For this reason, we have provided a new "-T" flag to scp
   that disables these client-side checks at the risk of
   reintroducing the attack described above.

   scp(1): 前述の変更に関係: scp プロトコルはリモートシェル上の
   ワイルドカード展開に依存している. そのため, クライアントの
   ワイルドカードの一致に対してサーバのそれを反映する絶対確実な
   方法は存在しない. クライアントとサーバのワイルドカード展開が
   異なる場合, クライアントはサーバからのファイルを拒否するかもしれない.
   このため, 我々は 新しい "-T" フラグを scp に提供する.
   これは, 前述した攻撃を再導入するリスクを承知の上でこれらのクライアント側の
   チェックを無効にする.

 * sshd(8): Remove support for obsolete "host/port" syntax. Slash-
   separated host/port was added in 2001 as an alternative to
   host:port syntax for the benefit of IPv6 users. These days there
   are establised standards for this like [::1]:22 and the slash
   syntax is easily mistaken for CIDR notation, which OpenSSH
   supports for some things. Remove the slash notation from
   ListenAddress and PermitOpen; bz#2335

   sshd(8): 旧式の "host/port" 構文のサポートを除く. スラッシュ区切りの
   host/port は IPv6 ユーザのために host:port 構文の代替として 2001 年に
   追加された. [::1]:22 のような確立した標準が最近は存在し,
   スラッシュ構文は OpenSSH でもサポートしている箇所がある
   CIDR 表記と間違えやすい. ListenAddress と PermitOpen から
   スラッシュ表記を除く; bz#2335

Changes since OpenSSH 7.9
=========================

OpenSSH 7.9 からの変更

This release is focused on new features and internal refactoring.

このリリースは, 新しい機能と内部のリファクタリグに重点を置いている.

New Features
------------

新機能

 * ssh(1), ssh-agent(1), ssh-add(1): Add support for ECDSA keys in
   PKCS#11 tokens.

   ssh(1), ssh-agent(1), ssh-add(1): PKCS#11 トークン中の ECDSA 鍵
   のサポートを追加する.

 * ssh(1), sshd(8): Add experimental quantum-computing resistant
   key exchange method, based on a combination of Streamlined NTRU
   Prime 4591^761 and X25519.

   ssh(1), sshd(8): 実験的な量子コンピューティング耐性鍵交換法を
   追加する. Streamlined NTRU 4591^761 と X25519 の組合せに基づく.

 * ssh-keygen(1): Increase the default RSA key size to 3072 bits,
   following NIST Special Publication 800-57's guidance for a
   128-bit equivalent symmetric security level.

   ssh-keygen(1): デフォルトの RSA 鍵のサイズを 3072 ビットに増やす.
   128 ビットの共通鍵暗号と同等のセキュリティレベルに対する
   NIST Special Publication 800-57 のガイダンスに従うため.

 * ssh(1): Allow "PKCS11Provider=none" to override later instances of
   the PKCS11Provider directive in ssh_config; bz#2974

   ssh(1): ssh_config で PKCS11Provider 設定項目の後の設定を上書きするため
   "PKCS11Provider=none" を許可する; bz#2974

 * sshd(8): Add a log message for situations where a connection is
   dropped for attempting to run a command but a sshd_config
   ForceCommand=internal-sftp restriction is in effect; bz#2960

   sshd(8): sshd_config での ForceCommand=internal-sftp 制限が有効にも
   かかわらず, コマンドを走らせようとして接続が落ちる場合のログ
   メッセージを追加する; bz#2960

 * ssh(1): When prompting whether to record a new host key, accept
   the key fingerprint as a synonym for "yes". This allows the user
   to paste a fingerprint obtained out of band at the prompt and
   have the client do the comparison for you.

   ssh(1): 新しいホスト鍵を記録するかどうかのプロンプトを出している場合に,
   鍵の指紋を "yes" の同意語として受けつける. これにより, ユーザが
   外部から得た指紋をペーストしてクライアントに比較させられる.

 * ssh-keygen(1): When signing multiple certificates on a single
   command-line invocation, allow automatically incrementing the
   certificate serial number.

   ssh-keygen(1): 単一のコマンドラインから複数の証明書に署名する場合,
   証明書のシリアル番号を自動的に増加させられるようになる.

 * scp(1), sftp(1): Accept -J option as an alias to ProxyJump on
   the scp and sftp command-lines.

   scp(1), sftp(1): scp と sftp のコマンドラインで ProxyJump の
   エイリアスとして -J オプションを受けつける.

 * ssh-agent(1), ssh-pkcs11-helper(8), ssh-add(1): Accept "-v"
   command-line flags to increase the verbosity of output; pass
   verbose flags though to subprocesses, such as ssh-pkcs11-helper
   started from ssh-agent.

   ssh-agent(1), ssh-pkcs11-helper(8), ssh-add(1): 出力の冗長性を
   増す "-v" コマンドラインオプションを受けつける. ssh-agent から
   起動される ssh-pkcs11-helper の場合のように, サブプロセスへ
   冗長オプションは渡される.

 * ssh-add(1): Add a "-T" option to allowing testing whether keys in
   an agent are usable by performing a signature and a verification.

   ssh-add(1): エージェント内で鍵が署名と検証の実行に利用できるかを
   テストすることを許す "-T" オプションを追加する.

 * sftp-server(8): Add a "lsetstat@openssh.com" protocol extension
   that replicates the functionality of the existing SSH2_FXP_SETSTAT
   operation but does not follow symlinks. bz#2067

   sftp-server(8): 既存の SSH2_FXP_SETSTAT の機能と同等だがシンボリックリンクは
   追従しない, "lsetstat@openssh.com" プロトコル拡張を追加する.

 * sftp(1): Add "-h" flag to chown/chgrp/chmod commands to request
   they do not follow symlinks.

   sftp(1): シンボリックリンクを追従しないように要求する "-h" フラグを
   chown/chgrp/chmod コマンドに追加する.

 * sshd(8): Expose $SSH_CONNECTION in the PAM environment. This makes
   the connection 4-tuple available to PAM modules that wish to use
   it in decision-making. bz#2741

   PAM 環境で $SSH_CONNECTION を露出する. これにより, 意思決定に
   $SSH_CONNECTION を利用したい PAM モジュールが 接続 4タプル
   (訳注: source ip, ocsp URL, issuer name hash, serial number) を
   利用できる. bz#2741

 * sshd(8): Add a ssh_config "Match final" predicate Matches in same
   pass as "Match canonical" but doesn't require hostname
   canonicalisation be enabled. bz#2906

   sshd(8): "Match canonical" と同じパスにマッチするが, ホスト名の
   正規化が有効なことを要求しない "Match final" 述語を ssh_config に
   追加する. bz#2906

 * sftp(1): Support a prefix of '@' to suppress echo of sftp batch
   commands; bz#2926

   sftp(1): sftp バッチコマンドのエコーを抑制する '@' プレフィックスを
   サポートする.

 * ssh-keygen(1): When printing certificate contents using
   "ssh-keygen -Lf /path/certificate", include the algorithm that
   the CA used to sign the cert.

   ssh-keygen(1): "ssh-keygen -Lf /path/certificate" を用いて
   証明書の内容を出力する場合に, 証明書に署名をした CA が用いた
   アルゴリズムを含める.

Bugfixes
--------

バグ修正

 * sshd(8): Fix authentication failures when sshd_config contains
   "AuthenticationMethods any" inside a Match block that overrides
   a more restrictive default.

   sshd(8): sshd_config が "AuthenticationMethods any" を Match ブロック
   内に含んでいて より制約のあるデフォルトを上書きしている場合の
   認証失敗を修正する.

 * sshd(8): Avoid sending duplicate keepalives when ClientAliveCount
   is enabled.

   sshd(8): ClientAliveCount が有効な場合に重複した keepalive の送信を
   やめる.

 * sshd(8): Fix two race conditions related to SIGHUP daemon restart.
   Remnant file descriptors in recently-forked child processes could
   block the parent sshd's attempt to listen(2) to the configured
   addresses. Also, the restarting parent sshd could exit before any
   child processes that were awaiting their re-execution state had
   completed reading it, leaving them in a fallback path.

   sshd(8): SIGHUP でのデーモン再起動に関連する 2 つの競合状態を修正する.
   最近フォークされた子プロセスの残りのファイルデスクリプタが
   親の sshd が 設定されたアドレスで listen(2) しようとするのを
   ブロックする場合があった. また, 再実行状態を待っていた子プロセスが
   読み取りを完了する前に親の sshd を再起動が終了し,
   フォールバックパスに子プロセスが残る場合があった.

 * ssh(1): Fix stdout potentially being redirected to /dev/null when
   ProxyCommand=- was in use.

   ssh(1): ProxyCommand=- を利用する場合に stdout が /dev/null に
   リダイレクトされる潜在的な可能性を修正する.

 * sshd(8): Avoid sending SIGPIPE to child processes if they attempt
   to write to stderr after their parent processes have exited;
   bz#2071

   sshd(8): 子プロセスが 親プロセスが終了した後で stderr に書きこもうと
   する場合に SIGPIPE を 子プロセスに送るのをやめる. bz#2071

 * ssh(1): Fix bad interaction between the ssh_config ConnectTimeout
   and ConnectionAttempts directives - connection attempts after the
   first were ignoring the requested timeout; bz#2918

   ssh_config の ConnectTimeout, と ConnectionAttempts 設定項目間の
   悪い相互作用を修正する.  1回目より後の接続試行で要求されたタイムアウトを
   無視していた. bz#2918

 * ssh-keyscan(1): Return a non-zero exit status if no keys were
   found; bz#2903

   ssh-keyscan(1): 鍵が見つからなかった場合に 0 でない終了ステータスを
   返す. bz#2903

 * scp(1): Sanitize scp filenames to allow UTF-8 characters without
   terminal control sequences;  bz#2434

   scp(1): 端末制御シーケンスを含まない UTF-8 文字列を許すように scp の
   ファイル名を無害化する; bz#2434

 * sshd(8): Fix confusion between ClientAliveInterval and time-based
   RekeyLimit that could cause connections to be incorrectly closed.
   bz#2757

   sshd(8): 接続を不正に終了させてしまう ClientAliveInterval と
   時間ベースの RekeyLimit の間の混乱を修正する. bz#2757

 * ssh(1), ssh-add(1): Correct some bugs in PKCS#11 token PIN
   handling at initial token login. The attempt to read the PIN
   could be skipped in some cases, particularly on devices with
   integrated PIN readers. This would lead to an inability to
   retrieve keys from these tokens. bz#2652

   ssh(1), ssh-add(1): 最初のトークンログイン時の PKCS#11 トークン
   PIN の扱いのいくつかのバグを修正する. いくつかの場合, 特に PIN 読み取り機が
   統合されたデバイス上で, PIN の 読み取りの試行がスキップされる場合があった.
   これにより, これらのトークンから鍵を取り出すことができなくなっていた.
   bz#2652

 * ssh(1), ssh-add(1): Support keys on PKCS#11 tokens that set the
   CKA_ALWAYS_AUTHENTICATE flag by requring a fresh login after the
   C_SignInit operation. bz#2638

   ssh(1), ssh-add(1): C_SignInit 操作の後に新しいログインを要求する
   CKA_ALWAYS_AUTHENTICATE フラグを設定する PKCS#11 トークンの鍵を
   サポートする.

 * ssh(1): Improve documentation for ProxyJump/-J, clarifying that
   local configuration does not apply to jump hosts.

   ssh(1): ProxyJump/-J の文書を改善し, ローカルの設定がホストのジャンプに
   適用されないことを明確にする.

 * ssh-keygen(1): Clarify manual - ssh-keygen -e only writes
   public keys, not private.

   ssh-keygen(1): マニュアルを明確化する. ssh-keygen -e は
   公開鍵のみ書き込み, 秘密鍵に書き込まない.

 * ssh(1), sshd(8): be more strict in processing protocol banners,
   allowing \r characters only immediately before \n.

   ssh(1), sshd(8): プロトコルバナーの処理をより厳格にする.
   \r 文字は \n の直前のみ許可する.

 * Various: fix a number of memory leaks, including bz#2942 and
   bz#2938

   いろいろ: たくさんのメモリリークを修正する, bz#2942 と bz#2938 を含む.

 * scp(1), sftp(1): fix calculation of initial bandwidth limits.
   Account for bytes written before the timer starts and adjust the
   schedule on which recalculations are performed. Avoids an initial
   burst of traffic and yields more accurate bandwidth limits;
   bz#2927

   scp(1), sftp(1): 最初の帯域制限の計算を修正する.
   タイマーがスタートする前の書き込みバイト数を考慮し,
   再計算が行なわれるスケジュールを調整する. 最初のトラフィックの
   バースを防ぎ, より正確な帯域制限を生成する; bz#2927

 * sshd(8): Only consider the ext-info-c extension during the initial
   key eschange. It shouldn't be sent in subsequent ones, but if it
   is present we should ignore it. This prevents sshd from sending a
   SSH_MSG_EXT_INFO for REKEX for buggy these clients. bz#2929

   sshd(8): 最初の鍵交換中の ext-intro-c 拡張のみを考慮する. 
   これは最初の鍵交換より後で送られるべきではないが, 送られても
   無視するべきだ. これにより, バグのあるクライアントに sshd が
   SSH_MSG_EXT_INFO を鍵交換のために送るのを防ぐ. bz#2929

 * ssh-keygen(1): Clarify manual that ssh-keygen -F (find host in 
   authorized_keys) and -R (remove host from authorized_keys) options
   may accept either a bare hostname or a [hostname]:port combo.
   bz#2935

   ssh-keygen(1): ssh-keygen -F (authorized_keys 中でホストをさがす) と
   -R (authorized_keys からホストを除く) オプションが生のホスト名も
   [hostname]:port の組合せも受け付けることをマニュアルで明確にする.
   bz#2935

 * ssh(1): Don't attempt to connect to empty SSH_AUTH_SOCK; bz#2936

   ssh(1): 空の SSH_AUTH_SOCK に接続しないようにする; bz#2936

 * sshd(8): Silence error messages when sshd fails to load some of
   the default host keys. Failure to load an explicitly-configured
   hostkey is still an error, and failure to load any host key is
   still fatal. pr/103

   sshd(8): sshd がデフォルトのホスト鍵のいくつかのロードに失敗した場合に
   エラーメッセージを出さなくする. 明示的に設定されたホスト鍵のロードの
   失敗は error のままで, どのホスト鍵のロードにも失敗したなら
   fatal のまま. pr/103

 * ssh(1): Redirect stderr of ProxyCommands to /dev/null when ssh is
   started with ControlPersist; prevents random ProxyCommand output
   from interfering with session output.

   ssh(1): ssh が ControlPersist で始まったなら, ProxyCommand の stderr
   は /dev/null にリダイレクトする. ランダムな ProxyCommand の出力が
   セッションの出力に干渉するのを防ぐ.

 * ssh(1): The ssh client was keeping a redundant ssh-agent socket
   (leftover from authentication) around for the life of the
   connection; bz#2912

   ssh(1): ssh のクラアイントは 冗長な ssh-agent ソケット (認証からの残り)
   を接続の間中保持していた; bz#2912

 * sshd(8): Fix bug in HostbasedAcceptedKeyTypes and
   PubkeyAcceptedKeyTypes options. If only RSA-SHA2 siganture types
   were specified, then authentication would always fail for RSA keys
   as the monitor checks only the base key (not the signature
   algorithm) type against *AcceptedKeyTypes. bz#2746

   HostbasedAcceptedKeyTypes と PubkeyAcceptedKeyTypes 設定項目の
   バグを修正する. RSA-SHA2 署名タイプのみ指定された場合,
   モニターが*AcceptedKeyTypes に対して  (署名アルゴリズムではなく)
   ベースの鍵のタイプのみをチェックし, 認証が RSA 鍵に対して常に失敗してしまう.

 * ssh(1): Request correct signature types from ssh-agent when
   certificate keys and RSA-SHA2 signatures are in use.

   ssh(1): 証明書の鍵と RSA-SHA2 署名を利用中に ssh-agent から
   正しい署名タイプを要求する.

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

移植性

 * sshd(8): On Cygwin, run as SYSTEM where possible, using S4U for
   token creation if it supports MsV1_0 S4U Logon.

   sshd(8): Cygwin 上で, MsV1_0 S4U ログオンをサポートしているならば
   トークンの生成に S4U を利用して, 可能ならば SYSTEM として走る

 * sshd(8): On Cygwin, use custom user/group matching code that
   respects the OS' behaviour of case-insensitive matching.

   sshd(8): Cygwin 上で, 大文字小文字を区別しない OS の振舞いを
   尊重したカスタムの user/group 一致コードを利用する.

 * sshd(8): Don't set $MAIL if UsePAM=yes as PAM typically specifies
   the user environment if it's enabled; bz#2937

   sshd(8): PAM が有効な場合に PAM が典型的にユーザの環境を設定するように
   UsePAM=yes の場合に $MAIL を設定しない. bz#2937

 * sshd(8) Cygwin: Change service name to cygsshd to avoid collision
   with Microsoft's OpenSSH port.

   sshd(8) Cygwin: Microsoft の OpenSSH 移植と衝突しないようにサービス名を
   cygssdh に変更する.

 * Allow building against OpenSSL -dev (3.x)

   OpenSSH 開発版 (3.x) でのビルドを可能にする

 * Fix a number of build problems against version configurations and
   versions of OpenSSL. Including bz#2931 and bz#2921

   OpenSSL のバージョン設定とバージョンに対するビルドのたくさんの問題を
   修正する. bz#2931 と bz#2921 を含む

 * Improve warnings in cygwin service setup. bz#2922

   cygwin のサービス設定での警告を改善する. bz#2922

 * Remove hardcoded service name in cygwin setup. bz#2922

   cygwin設定のでハードコードされたサービス名を除く. bz#2922

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

28 Mar, 2019 - 10 minutes

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

Call for testing: OpenSSH 8.0

新機能とリファクタリングに重点がおかれたリリースになる模様です.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html (暫定版)

Security
========

セキュリティ

This release contains mitigation for a weakness in the scp(1) tool
and protocol (CVE-2019-6111): when copying files from a remote system
to a local directory, scp(1) did not verify that the filenames that
the server sent matched those requested by the client. This could
allow a hostile server to create or clobber unexpected local files
with attacker-controlled content.

このリリースは, scp(1) ツールとプロトコルの問題 (CVE-2019-6111) の緩和を含んでいる:
リモートのシステムからローカルのディレクトリにファイルをコピーする際に,
scp(1) は, サーバが送信したファイル名がクライアントによって要求されたものと
一致するかどうかを検証していない. これを利用して, 悪意のあるサーバが攻撃者が
制御する内容で予期しないローカルファイルを作成したり変更する可能性がある.

This release adds client-side checking that the filenames sent from
the server match the command-line request,

このリリースでサーバから送られたファイル名がコマンドラインの要求と
一致するかどうかのクライアント側でのチェックを追加する.

The scp protocol is outdated, inflexible and not readily fixed. We
recommend the use of more modern protocols like sftp and rsync for
file transfer instead.

scp プロトコルは時代遅れで, 柔軟性がなく, 簡単に修正できない.
ファイル転送には scp の代わりに sftp や rsync にようなより
現代的なプロトコルの利用を推奨する.

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更がいくつか含まれている:

 * scp(1): Relating to the above changes to scp(1); the scp protocol
   relies on the remote shell for wildcard expansion, so there is no
   infallible way for the client's wildcard matching to perfectly
   reflect the server's. If there is a difference between client and
   server wildcard expansion, the client may refuse files from the
   server. For this reason, we have provided a new "-T" flag to scp
   that disables these client-side checks at the risk of
   reintroducing the attack described above.

   scp(1): 前述の変更に関係: scp プロトコルはリモートシェル上の
   ワイルドカード展開に依存している. そのため, クライアントの
   ワイルドカードの一致に対してサーバのそれを反映する絶対確実な
   方法は存在しない. クライアントとサーバのワイルドカード展開が
   異なる場合, クライアントはサーバからのファイルを拒否するかもしれない.
   このため, 我々は 新しい "-T" フラグを scp に提供する.
   これは, 前述した攻撃を再導入するリスクを承知の上でこれらのクライアント側の
   チェックを無効にする.

 * sshd(8): Remove support for obsolete "host/port" syntax. Slash-
   separated host/port was added in 2001 as an alternative to
   host:port syntax for the benefit of IPv6 users. These days there
   are establised standards for this like [::1]:22 and the slash
   syntax is easily mistaken for CIDR notation, which OpenSSH
   supports for some things. Remove the slash notation from
   ListenAddress and PermitOpen; bz#2335

   sshd(8): 旧式の "host/port" 構文のサポートを除く. スラッシュ区切りの
   host/port は IPv6 ユーザのために host:port 構文の代替として 2001 年に
   追加された. [::1]:22 のような確立した標準が最近は存在し,
   スラッシュ構文は OpenSSH でもサポートしている箇所がある
   CIDR 表記と間違えやすい. ListenAddress と PermitOpen から
   スラッシュ表記を除く; bz#2335

Changes since OpenSSH 7.9
=========================

OpenSSH 7.9 からの変更

This release is focused on new features and internal refactoring.

このリリースは, 新しい機能と内部のリファクタリグに重点を置いている.

New Features
------------

新機能

 * ssh(1), ssh-agent(1), ssh-add(1): Add support for ECDSA keys in
   PKCS#11 tokens.

   ssh(1), ssh-agent(1), ssh-add(1): PKCS#11 トークン中の ECDSA 鍵
   のサポートを追加する.

 * ssh(1), sshd(8): Add experimental quantum-computing resistant
   key exchange method, based on a combination of Streamlined NTRU
   Prime 4591^761 and X25519.

   ssh(1), sshd(8): 実験的な量子コンピューティング耐性鍵交換法を
   追加する. Streamlined NTRU 4591^761 と X25519 の組合せに基づく.

 * ssh-keygen(1): Increase the default RSA key size to 3072 bits,
   following NIST Special Publication 800-57's guidance for a
   128-bit equivalent symmetric security level.

   ssh-keygen(1): デフォルトの RSA 鍵のサイズを 3072 ビットに増やす.
   128 ビットの共通鍵暗号と同等のセキュリティレベルに対する
   NIST Special Publication 800-57 のガイダンスに従うため.

 * ssh(1): Allow "PKCS11Provide=none" to override later instances of
   the PKCS11Provide directive in ssh_config; bz#2974

   ssh(1): ssh_config で PKCS11Provide 設定項目の後の設定を上書きするため
   "PKCS11Provide=none" を許可する; bz#2974

 * sshd(8): Add a log message for situations where a connection is
   dropped for attempting to run a command but a sshd_config
   ForceCommand=internal-sftp restriction is in effect; bz#2960

   sshd(8): sshd_config での ForceCommand=internal-sftp 制限が有効にも
   かかわらず, コマンドを走らせようとして接続が落ちる場合のログ
   メッセージを追加する; bz#2960

 * ssh(1): When prompting whether to record a new host key, accept
   the key fingerprint as a synonym for "yes". This allows the user
   to paste a fingerprint obtained out of band at the prompt and
   have the client do the comparison for you.

   ssh(1): 新しいホスト鍵を記録するかどうかのプロンプトを出している場合に,
   鍵の指紋を "yes" の同意語として受けつける. これにより, ユーザが
   外部から得た指紋をペーストしてクライアントに比較させられる.

 * ssh-keygen(1): When signing multiple certificates on a single
   command-line invocation, allow automatically incrementing the
   certificate serial number.

   ssh-keygen(1): 単一のコマンドラインから複数の証明書に署名する場合,
   証明書のシリアル番号を自動的に増加させられるようになる.

 * scp(1), sftp(1): Accept -J option as an alias to ProxyJump on
   the scp and sftp command-lines.

   scp(1), sftp(1): scp と sftp のコマンドラインで ProxyJump の
   エイリアスとして -J オプションを受けつける.

 * ssh-agent(1), ssh-pkcs11-helper(8), ssh-add(1): Accept "-v"
   command-line flags to increase the verbosity of output; pass
   verbose flags though to subprocesses, such as ssh-pkcs11-helper
   started from ssh-agent.

   ssh-agent(1), ssh-pkcs11-helper(8), ssh-add(1): 出力の冗長性を
   増す "-v" コマンドラインオプションを受けつける. ssh-agent から
   起動される ssh-pkcs11-helper の場合のように, サブプロセスへ
   冗長オプションは渡される.

 * ssh-add(1): Add a "-T" option to allowing testing whether keys in
   an agent are usable by performing a signature and a verification.

   ssh-add(1): エージェント内で鍵が署名と検証の実行に利用できるかを
   テストすることを許す "-T" オプションを追加する.

 * sftp-server(8): Add a "lsetstat@openssh.com" protocol extension
   that replicates the functionality of the existing SSH2_FXP_SETSTAT
   operation but does not follow symlinks. bz#2067

   sftp-server(8): 既存の SSH2_FXP_SETSTAT の機能と同等だがシンボリックリンクは
   追従しない, "lsetstat@openssh.com" プロトコル拡張を追加する.

 * sftp(1): Add "-h" flag to chown/chgrp/chmod commands to request
   they do not follow symlinks.

   sftp(1): シンボリックリンクを追従しないように要求する "-h" フラグを
   chown/chgrp/chmod コマンドに追加する.

 * sshd(8): Expose $SSH_CONNECTION in the PAM environment. This makes
   the connection 4-tuple available to PAM modules that wish to use
   it in decision-making. bz#2741

   PAM 環境で $SSH_CONNECTION を露出する. これにより, 意思決定に
   $SSH_CONNECTION を利用したい PAM モジュールが 接続 4タプル
   (訳注: source ip, ocsp URL, issuer name hash, serial number) を
   利用できる. bz#2741

 * sshd(8): Add a ssh_config "Match final" predicate Matches in same
   pass as "Match canonical" but doesn't require hostname
   canonicalisation be enabled. bz#2906

   sshd(8): "Match canonical" と同じパスにマッチするが, ホスト名の
   正規化が有効なことを要求しない "Match final" 述語を ssh_config に
   追加する. bz#2906

 * sftp(1): Support a prefix of '@' to suppress echo of sftp batch
   commands; bz#2926

   sftp(1): sftp バッチコマンドのエコーを抑制する '@' プレフィックスを
   サポートする.

 * ssh-keygen(1): When printing certificate contents using
   "ssh-keygen -Lf /path/certificate", include the algorithm that
   the CA used to sign the cert.

   ssh-keygen(1): "ssh-keygen -Lf /path/certificate" を用いて
   証明書の内容を出力する場合に, 証明書に署名をした CA が用いた
   アルゴリズムを含める.

Bugfixes
--------

バグ修正

 * sshd(8): Fix authentication failures when sshd_config contains
   "AuthenticationMethods any" inside a Match block that overrides
   a more restrictive default.

   sshd(8): sshd_config が "AuthenticationMethods any" を Match ブロック
   内に含んでいて より制約のあるデフォルトを上書きしている場合の
   認証失敗を修正する.

 * sshd(8): Avoid sending duplicate keepalives when ClientAliveCount
   is enabled.

   sshd(8): ClientAliveCount が有効な場合に重複した keepalive の送信を
   やめる.

 * sshd(8): Fix two race conditions related to SIGHUP daemon restart.
   Remnant file descriptors in recently-forked child processes could
   block the parent sshd's attempt to listen(2) to the configured
   addresses. Also, the restarting parent sshd could exit before any
   child processes that were awaiting their re-execution state had
   completed reading it, leaving them in a fallback path.

   sshd(8): SIGHUP でのデーモン再起動に関連する 2 つの競合状態を修正する.
   最近フォークされた子プロセスの残りのファイルデスクリプタが
   親の sshd が 設定されたアドレスで listen(2) しようとするのを
   ブロックする場合があった. また, 再実行状態を待っていた子プロセスが
   読み取りを完了する前に親の sshd を再起動が終了し,
   フォールバックパスに子プロセスが残る場合があった.

 * ssh(1): Fix stdout potentially being redirected to /dev/null when
   ProxyCommand=- was in use.

   ssh(1): ProxyCommand=- を利用する場合に stdout が /dev/null に
   リダイレクトされる潜在的な可能性を修正する.

 * sshd(8): Avoid sending SIGPIPE to child processes if they attempt
   to write to stderr after their parent processes have exited;
   bz#2071

   sshd(8): 子プロセスが 親プロセスが終了した後で stderr に書きこもうと
   する場合に SIGPIPE を 子プロセスに送るのをやめる. bz#2071

 * ssh(1): Fix bad interaction between the ssh_config ConnectTimeout
   and ConnectionAttempts directives - connection attempts after the
   first were ignoring the requested timeout; bz#2918

   ssh_config の ConnectTimeout, と ConnectionAttempts 設定項目間の
   悪い相互作用を修正する.  1回目より後の接続試行で要求されたタイムアウトを
   無視していた. bz#2918

 * ssh-keyscan(1): Return a non-zero exit status if no keys were
   found; bz#2903

   ssh-keyscan(1): 鍵が見つからなかった場合に 0 でない終了ステータスを
   返す. bz#2903

 * scp(1): Sanitize scp filenames to allow UTF-8 characters without
   terminal control sequences;  bz#2434

   scp(1): 端末制御シーケンスを含まない UTF-8 文字列を許すように scp の
   ファイル名を無害化する; bz#2434

 * sshd(8): Fix confusion between ClientAliveInterval and time-based
   RekeyLimit that could cause connections to be incorrectly closed.
   bz#2757

   sshd(8): 接続を不正に終了させてしまう ClientAliveInterval と
   時間ベースの RekeyLimit の間の混乱を修正する. bz#2757

 * ssh(1), ssh-add(1): Correct some bugs in PKCS#11 token PIN
   handling at initial token login. The attempt to read the PIN
   could be skipped in some cases, particularly on devices with
   integrated PIN readers. This would lead to an inability to
   retrieve keys from these tokens. bz#2652

   ssh(1), ssh-add(1): 最初のトークンログイン時の PKCS#11 トークン
   PIN の扱いのいくつかのバグを修正する. いくつかの場合, 特に PIN 読み取り機が
   統合されたデバイス上で, PIN の 読み取りの試行がスキップされる場合があった.
   これにより, これらのトークンから鍵を取り出すことができなくなっていた.
   bz#2652

 * ssh(1), ssh-add(1): Support keys on PKCS#11 tokens that set the
   CKA_ALWAYS_AUTHENTICATE flag by requring a fresh login after the
   C_SignInit operation. bz#2638

   ssh(1), ssh-add(1): C_SignInit 操作の後に新しいログインを要求する
   CKA_ALWAYS_AUTHENTICATE フラグを設定する PKCS#11 トークンの鍵を
   サポートする.

 * ssh(1): Improve documentation for ProxyJump/-J, clarifying that
   local configuration does not apply to jump hosts.

   ssh(1): ProxyJump/-J の文書を改善し, ローカルの設定がホストのジャンプに
   適用されないことを明確にする.

 * ssh-keygen(1): Clarify manual - ssh-keygen -e only writes
   public keys, not private.

   ssh-keygen(1): マニュアルを明確化する. ssh-keygen -e は
   公開鍵のみ書き込み, 秘密鍵に書き込まない.

 * ssh(1), sshd(8): be more strict in processing protocol banners,
   allowing \r characters only immediately before \n.

   ssh(1), sshd(8): プロトコルバナーの処理をより厳格にする.
   \r 文字は \n の直前のみ許可する.

 * Various: fix a number of memory leaks, including bz#2942 and
   bz#2938

   いろいろ: たくさんのメモリリークを修正する, bz#2942 と bz#2938 を含む.

 * scp(1), sftp(1): fix calculation of initial bandwidth limits.
   Account for bytes written before the timer starts and adjust the
   schedule on which recalculations are performed. Avoids an initial
   burst of traffic and yields more accurate bandwidth limits;
   bz#2927

   scp(1), sftp(1): 最初の帯域制限の計算を修正する.
   タイマーがスタートする前の書き込みバイト数を考慮し,
   再計算が行なわれるスケジュールを調整する. 最初のトラフィックの
   バースを防ぎ, より正確な帯域制限を生成する; bz#2927

 * sshd(8): Only consider the ext-info-c extension during the initial
   key eschange. It shouldn't be sent in subsequent ones, but if it
   is present we should ignore it. This prevents sshd from sending a
   SSH_MSG_EXT_INFO for REKEX for buggy these clients. bz#2929

   sshd(8): 最初の鍵交換中の ext-intro-c 拡張のみを考慮する. 
   これは最初の鍵交換より後で送られるべきではないが, 送られても
   無視するべきだ. これにより, バグのあるクライアントに sshd が
   SSH_MSG_EXT_INFO を鍵交換のために送るのを防ぐ. bz#2929

 * ssh-keygen(1): Clarify manual that ssh-keygen -F (find host in 
   authorized_keys) and -R (remove host from authorized_keys) options
   may accept either a bare hostname or a [hostname]:port combo.
   bz#2935

   ssh-keygen(1): ssh-keygen -F (authorized_keys 中でホストをさがす) と
   -R (authorized_keys からホストを除く) オプションが生のホスト名も
   [hostname]:port の組合せも受け付けることをマニュアルで明確にする.
   bz#2935

 * ssh(1): Don't attempt to connect to empty SSH_AUTH_SOCK; bz#2936

   ssh(1): 空の SSH_AUTH_SOCK に接続しないようにする; bz#2936

 * sshd(8): Silence error messages when sshd fails to load some of
   the default host keys. Failure to load an explicitly-configured
   hostkey is still an error, and failure to load any host key is
   still fatal. pr/103

   sshd(8): sshd がデフォルトのホスト鍵のいくつかのロードに失敗した場合に
   エラーメッセージを出さなくする. 明示的に設定されたホスト鍵のロードの
   失敗は error のままで, どのホスト鍵のロードにも失敗したなら
   fatal のまま. pr/103

 * ssh(1): Redirect stderr of ProxyCommands to /dev/null when ssh is
   started with ControlPersist; prevents random ProxyCommand output
   from interfering with session output.

   ssh(1): ssh が ControlPersist で始まったなら, ProxyCommand の stderr
   は /dev/null にリダイレクトする. ランダムな ProxyCommand の出力が
   セッションの出力に干渉するのを防ぐ.

 * ssh(1): The ssh client was keeping a redundant ssh-agent socket
   (leftover from authentication) around for the life of the
   connection; bz#2912

   ssh(1): ssh のクラアイントは 冗長な ssh-agent ソケット (認証からの残り)
   を接続の間中保持していた; bz#2912

 * sshd(8): Fix bug in HostbasedAcceptedKeyTypes and
   PubkeyAcceptedKeyTypes options. If only RSA-SHA2 siganture types
   were specified, then authentication would always fail for RSA keys
   as the monitor checks only the base key (not the signature
   algorithm) type against *AcceptedKeyTypes. bz#2746

   HostbasedAcceptedKeyTypes と PubkeyAcceptedKeyTypes 設定項目の
   バグを修正する. RSA-SHA2 署名タイプのみ指定された場合,
   モニターが*AcceptedKeyTypes に対して  (署名アルゴリズムではなく)
   ベースの鍵のタイプのみをチェックし, 認証が RSA 鍵に対して常に失敗してしまう.

 * ssh(1): Request correct signature types from ssh-agent when
   certificate keys and RSA-SHA2 signatures are in use.

   ssh(1): 証明書の鍵と RSA-SHA2 署名を利用中に ssh-agent から
   正しい署名タイプを要求する.

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

移植性

 * sshd(8): On Cygwin, run as SYSTEM where possible, using S4U for
   token creation if it supports MsV1_0 S4U Logon.

   sshd(8): Cygwin 上で, MsV1_0 S4U ログオンをサポートしているならば
   トークンの生成に S4U を利用して, 可能ならば SYSTEM として走る

 * sshd(8): On Cygwin, use custom user/group matching code that
   respects the OS' behaviour of case-insensitive matching.

   sshd(8): Cygwin 上で, 大文字小文字を区別しない OS の振舞いを
   尊重したカスタムの user/group 一致コードを利用する.

 * sshd(8): Don't set $MAIL if UsePAM=yes as PAM typically specifies
   the user environment if it's enabled; bz#2937

   sshd(8): PAM が有効な場合に PAM が典型的にユーザの環境を設定するように
   UsePAM=yes の場合に $MAIL を設定しない. bz#2937

 * sshd(8) Cygwin: Change service name to cygsshd to avoid collision
   with Microsoft's OpenSSH port.

   sshd(8) Cygwin: Microsoft の OpenSSH 移植と衝突しないようにサービス名を
   cygssdh に変更する.

 * Allow building against OpenSSL -dev (3.x)

   OpenSSH 開発版 (3.x) でのビルドを可能にする

 * Fix a number of build problems against version configurations and
   versions of OpenSSL. Including bz#2931 and bz#2921

   OpenSSL のバージョン設定とバージョンに対するビルドのたくさんの問題を
   修正する. bz#2931 と bz#2921 を含む

 * Improve warnings in cygwin service setup. bz#2922

   cygwin のサービス設定での警告を改善する. bz#2922

 * Remove hardcoded service name in cygwin setup. bz#2922

   cygwin設定のでハードコードされたサービス名を除く. bz#2922

OpenSSH 7.9 がリリースされました

19 Oct, 2018 - 4 minutes

2018/10/19, OpenSSH 7.9 がリリースされました.

バグ修正が中心のリリースです.

https://www.openssh.com/txt/release-7.9

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更がいくつか含まれている:

 * ssh(1), sshd(8): the setting of the new CASignatureAlgorithms
   option (see below) bans the use of DSA keys as certificate
   authorities.

   ssh(1), sshd(8): (後述する)新しい CASignatureAlgorithms の設定が
   認証局での DSA 鍵の利用を禁止する.

 * sshd(8): the authentication success/failure log message has
   changed format slightly. It now includes the certificate
   fingerprint (previously it included only key ID and CA key
   fingerprint).

   sshd(8): 認証成功/失敗ログメッセージの形式が少し変わる.
   証明書の指紋も含むようになる (以前は 鍵の ID と認証局の
   鍵の指紋のみを含んでいた).

Changes since OpenSSH 7.8
=========================

This is primarily a bugfix release.

これは主にバグ修正のリリースだ.

New Features
------------

新機能

 * ssh(1), sshd(8): allow most port numbers to be specified using
   service names from getservbyname(3) (typically /etc/services).

   ssh(1), sshd(8): (典型的に /etc/services に記載される) getservbyname(3
   からのサービス名を用いたほとんどのポート番号の指定を許可する.

 * ssh(1): allow the IdentityAgent configuration directive to accept
   environment variable names. This supports the use of multiple
   agent sockets without needing to use fixed paths.

   ssh(1): IdentityAgent 設定項目が環境変数名を受け入れる. これにより,
   固定したパスの利用を必要とせずに複数のエージェントソケットの
   利用をサポートする.

 * sshd(8): support signalling sessions via the SSH protocol.
   A limited subset of signals is supported and only for login or
   command sessions (i.e. not subsystems) that were not subject to
   a forced command via authorized_keys or sshd_config. bz#1424

   sshd(8): SSH プロトコル経由のセッションでのシグナルをサポートする.
   制限されたシグナルのサブセットがサポートされ, ログインセッションか
   authorized_keys や sshd_config でコマンドを強制されていないコマンド
   セッションでのみ利用できる (すなわちサブシステムでは無効).

 * ssh(1): support "ssh -Q sig" to list supported signature options.
   Also "ssh -Q help" to show the full set of supported queries.

   ssh(1): "ssh -Q sig" でサポートされた署名オプションを列挙する.
   また, "ssh -Q help" でサポートされた検索のフルセットを示す.

 * ssh(1), sshd(8): add a CASignatureAlgorithms option for the
   client and server configs to allow control over which signature
   formats are allowed for CAs to sign certificates. For example,
   this allows banning CAs that sign certificates using the RSA-SHA1
   signature algorithm.

   ssh(1), sshd(8): CASignatureAlgorithms 設定項目を追加する.
   クライアントとサーバの設定で, 認証局が証明書に署名する
   署名の形式を制御できるようになる. 例えば, RSA-SHA1 署名
   アルゴリズムを用いて証明書に署名する認証局を禁止できる.

 * sshd(8), ssh-keygen(1): allow key revocation lists (KRLs) to
   revoke keys specified by SHA256 hash.

   sshd(8), ssh-keygen(1): 鍵失効リスト(KRL) で SHA256 ハッシュで
   鍵を指定して無効にできる.

 * ssh-keygen(1): allow creation of key revocation lists directly
   from base64-encoded SHA256 fingerprints. This supports revoking
   keys using only the information contained in sshd(8)
   authentication log messages.

   ssh-keygen(1): base64 エンコードされた SHA256 指紋から直接
   鍵失効リストを作成できる. sshd(8) の認証ログメッセージに含まれる
   情報だけから鍵を失効できる.

Bugfixes
--------

バグ修正

 * ssh(1), ssh-keygen(1): avoid spurious "invalid format" errors when
   attempting to load PEM private keys while using an incorrect
   passphrase. bz#2901

   ssh(1), ssh-keygen(1): 不正なパスフレーズを用いて PEM 秘密鍵を
   ロードしようとした際のおかしな "invalid format" エラーを回避する.

 * sshd(8): when a channel closed message is received from a client,
   close the stderr file descriptor at the same time stdout is
   closed. This avoids stuck processes if they were waiting for
   stderr to close and were insensitive to stdin/out closing. bz#2863

   sshd(8): クライアントからチャンネルを閉じるメッセージを受け取った際に
   stdout が閉じるのと同時に stderr ファイルディスクリプタを閉じる.
   stderr が閉じられるのを待ち stdin/out が閉じられても感知しない
   プロセスが動かなくなるのを避ける. bz#2863

 * ssh(1): allow ForwardX11Timeout=0 to disable the untrusted X11
   forwarding timeout and support X11 forwarding indefinitely.
   Previously the behaviour of ForwardX11Timeout=0 was undefined.

   ssh(1): 信用されていない X11 転送のタイムアウトを無効にし 無期限に
   X11 転送をサポートする ForwardX11Timeout=0 設定が可能になる.
   以前は ForwardX11Timeout=0 の振舞いは未定義だった.

 * sshd(8): when compiled with GSSAPI support, cache supported method
   OIDs regardless of whether GSSAPI authentication is enabled in the
   main section of sshd_config. This avoids sandbox violations if
   GSSAPI authentication was later enabled in a Match block. bz#2107

   sshd(8): GSSAPI サポートありでコンパイルされた場合, sshd_config の
   メイン部分で GSSAPI が有効かどうかに関係なくサポートされた
   メソッドの OID をキャッシュする. GSSAPI 認証が後で Match ブロックで
   有効になった場合に, サンドボックスの破壊を避ける.

 * sshd(8): do not fail closed when configured with a text key
   revocation list that contains a too-short key. bz#2897

   sshd(8): 非常に短い鍵を含むテキストの鍵失効リストありで設定した
   場合に失敗しない. bz#2897
   (https://bugzilla.mindrot.org/show_bug.cgi?id=2897 によると 7.6
   以降でログインできなくなる模様)

 * ssh(1): treat connections with ProxyJump specified the same as
   ones with a ProxyCommand set with regards to hostname
   canonicalisation (i.e. don't try to canonicalise the hostname
   unless CanonicalizeHostname is set to 'always'). bz#2896

   ssh(1): ホスト名正規化に関して ProxyJump で指定された接続を
   ProxyCommand で設定された接続と同じように扱う (すなわち,
   CanonicalizeHostname が 'always' に設定されていなければ
   ホスト名の正規化を試みない). bz#2896

 * ssh(1): fix regression in OpenSSH 7.8 that could prevent public-
   key authentication using certificates hosted in a ssh-agent(1)
   or against sshd(8) from OpenSSH <7.8.

   ssh(1): OpenSSH 7.8 より前の ssh-agent(1) で保持された
   証明書にを用いたもしくは OpenSSH 7.8 より前の sshd(8)に対する
   公開鍵認証が妨げられる OpenSSH 7.8 での 退行を修正する.

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

移植性

 * All: support building against the openssl-1.1 API (releases 1.1.0g
   and later). The openssl-1.0 API will remain supported at least
   until OpenSSL terminates security patch support for that API version.

   すべて: openssl-1.1 API (リリース 1.1.0g 以降)
   に対するビルドをサポートする. openssl-1.0 API は 少なくとも 
   1.0 API へのセキュリティパッチサポートを
   OpenSSL が止めるまではサポートされるだろう.

 * sshd(8): allow the futex(2) syscall in the Linux seccomp sandbox;
   apparently required by some glibc/OpenSSL combinations.

   sshd(8): Linux seccomp サンドボックスで futex(2) システムコールを
   許可する; いくつかの glibc/OpenSSL の組合せで必要となる模様だ.

 * sshd(8): handle getgrouplist(3) returning more than
   _SC_NGROUPS_MAX groups. Some platforms consider this limit more
   as a guideline.

   sshd(8): _SC_NGROUPS_MAX よりも多いグループを返す getgrouplist(3)
   を扱う. いくつかのプラットフォームはこの制限をガイドラインとして
   考慮している.

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

11 Oct, 2018 - 4 minutes

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

Call for testing: OpenSSH 7.9

主にバグ修正のリリースです.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2018-October/037245.html (暫定版)

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更がいくつか含まれている:

 * ssh(1), sshd(8): the setting of the new CASignatureAlgorithms
   option (see below) bans the use of DSA keys as certificate
   authorities.

   ssh(1), sshd(8): (後述する)新しい CASignatureAlgorithms の設定が
   認証局での DSA 鍵の利用を禁止する.

 * sshd(8): the authentication success/failure log message has
   changed format slightly. It now includes the certificate
   fingerprint (previously it included only key ID and CA key
   fingerprint).

   sshd(8): 認証成功/失敗ログメッセージの形式が少し変わる.
   証明書の指紋も含むようになる (以前は 鍵の ID と認証局の
   鍵の指紋のみを含んでいた).

Changes since OpenSSH 7.8
=========================

This is primarily a bugfix release.

これは主にバグ修正のリリースだ.

New Features
------------

新機能

 * ssh(1), sshd(8): allow most port numbers to be specified using
   service names from getservbyname(3) (typically /etc/services).

   ssh(1), sshd(8): (典型的に /etc/services に記載される) getservbyname(3
   からのサービス名を用いたほとんどのポート番号の指定を許可する.

 * ssh(1): allow the IdentityAgent configuration directive to accept
   environment variable names. This supports the use of multiple
   agent sockets without needing to use fixed paths.

   ssh(1): IdentityAgent 設定項目が環境変数名を受け入れる. これにより,
   固定したパスの利用を必要とせずに複数のエージェントソケットの
   利用をサポートする.

 * sshd(8): support signalling sessions via the SSH protocol.
   A limited subset of signals is supported and only for login or
   command sessions (i.e. not subsystems) that were not subject to
   a forced command via authorized_keys or sshd_config. bz#1424

   sshd(8): SSH プロトコル経由のセッションでのシグナルをサポートする.
   制限されたシグナルのサブセットがサポートされ, ログインセッションか
   authorized_keys や sshd_config でコマンドを強制されていないコマンド
   セッションでのみ利用できる (すなわちサブシステムでは無効).

 * ssh(1): support "ssh -Q sig" to list supported signature options.
   Also "ssh -Q help" to show the full set of supported queries.

   ssh(1): "ssh -Q sig" でサポートされた署名オプションを列挙する.
   また, "ssh -Q help" でサポートされた検索のフルセットを示す.

 * ssh(1), sshd(8): add a CASignatureAlgorithms option for the
   client and server configs to allow control over which signature
   formats are allowed for CAs to sign certificates. For example,
   this allows banning CAs that sign certificates using the RSA-SHA1
   signature algorithm.

   ssh(1), sshd(8): CASignatureAlgorithms 設定項目を追加する.
   クライアントとサーバの設定で, 認証局が証明書に署名する
   署名の形式を制御できるようになる. 例えば, RSA-SHA1 署名
   アルゴリズムを用いて証明書に署名する認証局を禁止できる.

 * sshd(8), ssh-keygen(1): allow key revocation lists (KRLs) to
   revoke keys specified by SHA256 hash.

   sshd(8), ssh-keygen(1): 鍵失効リスト(KRL) で SHA256 ハッシュで
   鍵を指定して無効にできる.

 * ssh-keygen(1): allow creation of key revocation lists directly
   from base64-encoded SHA256 fingerprints. This supports revoking
   keys using only the information contained in sshd(8)
   authentication log messages.

   ssh-keygen(1): base64 エンコードされた SHA256 指紋から直接
   鍵失効リストを作成できる. sshd(8) の認証ログメッセージに含まれる
   情報だけから鍵を失効できる.

Bugfixes
--------

バグ修正

 * ssh(1), ssh-keygen(1): avoid spurious "invalid format" errors when
   attempting to load PEM private keys while using an incorrect
   passphrase. bz#2901

   ssh(1), ssh-keygen(1): 不正なパスフレーズを用いて PEM 秘密鍵を
   ロードしようとした際のおかしな "invalid format" エラーを回避する.

 * sshd(8): when a channel closed message is received from a client,
   close the stderr file descriptor at the same time stdout is
   closed. This avoids stuck processes if they were waiting for
   stderr to close and were insensitive to stdin/out closing. bz#2863

   sshd(8): クライアントからチャンネルを閉じるメッセージを受け取った際に
   stdout が閉じるのと同時に stderr ファイルディスクリプタを閉じる.
   stderr が閉じられるのを待ち stdin/out が閉じられても感知しない
   プロセスが動かなくなるのを避ける. bz#2863

 * ssh(1): allow ForwardX11Timeout=0 to disable the untrusted X11
   forwarding timeout and support X11 forwarding indefinitely.
   Previously the behaviour of ForwardX11Timeout=0 was undefined.

   ssh(1): 信用されていない X11 転送のタイムアウトを無効にし 無期限に
   X11 転送をサポートする ForwardX11Timeout=0 設定が可能になる.
   以前は ForwardX11Timeout=0 の振舞いは未定義だった.

 * sshd(8): when compiled with GSSAPI support, cache supported method
   OIDs regardless of whether GSSAPI authentication is enabled in the
   main section of sshd_config. This avoids sandbox violations if
   GSSAPI authentication was later enabled in a Match block. bz#2107

   sshd(8): GSSAPI サポートありでコンパイルされた場合, sshd_config の
   メイン部分で GSSAPI が有効かどうかに関係なくサポートされた
   メソッドの OID をキャッシュする. GSSAPI 認証が後で Match ブロックで
   有効になった場合に, サンドボックスの破壊を避ける.

 * sshd(8): do not fail closed when configured with a text key
   revocation list that contains a too-short key. bz#2897

   sshd(8): 非常に短い鍵を含むテキストの鍵失効リストありで設定した
   場合に失敗しない. bz#2897
   (https://bugzilla.mindrot.org/show_bug.cgi?id=2897 によると 7.6
   以降でログインできなくなる模様)

 * ssh(1): treat connections with ProxyJump specified the same as
   ones with a ProxyCommand set with regards to hostname
   canonicalisation (i.e. don't try to canonicalise the hostname
   unless CanonicalizeHostname is set to 'always'). bz#2896

   ssh(1): ホスト名正規化に関して ProxyJump で指定された接続を
   ProxyCommand で設定された接続と同じように扱う (すなわち,
   CanonicalizeHostname が 'always' に設定されていなければ
   ホスト名の正規化を試みない). bz#2896

 * ssh(1): fix regression in OpenSSH 7.8 that could prevent public-
   key authentication using certificates hosted in a ssh-agent(1)
   or against sshd(8) from OpenSSH <7.8.

   ssh(1): OpenSSH 7.8 より前の ssh-agent(1) で保持された
   証明書にを用いたもしくは OpenSSH 7.8 より前の sshd(8)に対する
   公開鍵認証が妨げられる OpenSSH 7.8 での 退行を修正する.

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

移植性

 * All: support building against the openssl-1.1 API. The
   openssl-1.0 API will remain supported at least until OpenSSL
   terminates security patch support for that API version.

   すべて: openssl-1.1 API に対するビルドをサポートする. openssl-1.0
   API は 少なくとも 1.0 API へのセキュリティパッチサポートを
   OpenSSL が止めるまではサポートされるだろう.

 * sshd(8): allow the futex(2) syscall in the Linux seccomp sandbox;
   apparently required by some glibc/OpenSSL combinations.

   sshd(8): Linux seccomp サンドボックスで futex(2) システムコールを
   許可する; いくつかの glibc/OpenSSL の組合せで必要となる模様だ.

 * sshd(8): handle getgrouplist(3) returning more than
   _SC_NGROUPS_MAX groups. Some platforms consider this limit more
   as a guideline.

   sshd(8): _SC_NGROUPS_MAX よりも多いグループを返す getgrouplist(3)
   を扱う. いくつかのプラットフォームはこの制限をガイドラインとして
   考慮している.

OpenSSH 7.8 がリリースされました

24 Aug, 2018 - 7 minutes

2018/08/24, OpenSSH 7.8 がリリースされました.

バグ修正が中心のリリースです.

https://www.openssh.com/txt/release-7.8

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれないいくつかの変更を含む:

 * ssh-keygen(1): write OpenSSH format private keys by default
   instead of using OpenSSL's PEM format. The OpenSSH format,
   supported in OpenSSH releases since 2014 and described in the
   PROTOCOL.key file in the source distribution, offers substantially
   better protection against offline password guessing and supports
   key comments in private keys. If necessary, it is possible to write
   old PEM-style keys by adding "-m PEM" to ssh-keygen's arguments
   when generating or updating a key.

   ssh-keygen(1): デフォルトでOpenSSL の PEM 形式を使う代わりに
   OpenSSH 形式の秘密鍵を書き込む. OpenSSH 形式は,
   2014 年以降の OpenSSH のリリースでサポートされており,
   ソース配布の PROTOCOL.key ファイルで記述されている.
   この形式は, オフラインのパスワード推測に対して実質的に
   よりよい保護を提供し, 秘密鍵の中の鍵コメントをサポートしている.
   必要があれば,  鍵を生成したり更新する際に ssh-keygen の引数に
   "-m PEM" と加えることで古い PEM 形式の鍵を書き込むことが可能だ.

 * sshd(8): remove internal support for S/Key multiple factor
   authentication. S/Key may still be used via PAM or BSD auth.

   sshd(8): S/Key 多要素認証の内部サポートを除く. S/Key は
   PAM か BSD認証経由でまだ利用できるだろう.

 * ssh(1): remove vestigal support for running ssh(1) as setuid. This
   used to be required for hostbased authentication and the (long
   gone) rhosts-style authentication, but has not been necessary for
   a long time. Attempting to execute ssh as a setuid binary, or with
   uid != effective uid will now yield a fatal error at runtime.

   ssh(1): ssh(1) を setuid で走らせる痕跡のないサポートを除く.
   これは, ホストベース認証や (太古の) rhost 認証で必要とされていた
   ものだが, 長い間必要がなくなっている. ssh を setuid バイナリとして
   実行しようとしたり, uid と実効 uid が異なる状態で実効しようとすると
   今後実行時に致命的エラーを生成するようになる

 * sshd(8): the semantics of PubkeyAcceptedKeyTypes and the similar
   HostbasedAcceptedKeyTypes options have changed. These now specify
   signature algorithms that are accepted for their respective
   authentication mechanism, where previously they specified accepted
   key types. This distinction matters when using the RSA/SHA2
   signature algorithms "rsa-sha2-256", "rsa-sha2-512" and their
   certificate counterparts. Configurations that override these
   options but omit these algorithm names may cause unexpected
   authentication failures (no action is required for configurations
   that accept the default for these options).

   sshd(8): PubkeyAcceptedKeyTypes と類似の HostbasedAcceptedKeyTypes
   設定項目の形式を変更する. これらは, 今後それらそれぞれの
   認証メカニズムで受けいれる署名アルゴリズムを指定できる.
   以前は受け入れる鍵のタイプを指定していた. RSA/SHA2 の署名アルゴリズム
   "rsa-sha2-256" と "rsa-sha2-512" と それらの証明書を用いる場合に
   この区別が意味を持つ.
   これらの設定項目を上書きするがこれらのアルゴリズム名を除いた
   設定は, 予期しない認証の失敗を引き起すかもしれない.
   (これらのの設定項目についてデフォルトのままの設定であればなにも
   対応の必要はない).

 * sshd(8): the precedence of session environment variables has
   changed. ~/.ssh/environment and environment="..." options in
   authorized_keys files can no longer override SSH_* variables set
   implicitly by sshd.

   sshd(8): セッション変数の設定の優先順位を変更する. ~/.ssh/environment
   と authorized_keys 中の environment="..." オプションは,
   ssdh で暗黙的に設定される SSH_* 変数をもはや上書きできない.

 * ssh(1)/sshd(8): the default IPQoS used by ssh/sshd has changed.
   They will now use DSCP AF21 for interactive traffic and CS1 for
   bulk.  For a detailed rationale, please see the commit message:
   https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/readconf.c#rev1.284

   ssh(1)/sshd(8): ssh/sshd で用いられるデフォルトの IPQoS を変更する.
   今後 インタラクティブなトラフィックでは DSCP AF21 を用い,
   バルクなトラフィックでは CS1 を用いる. 詳細な根拠は,
   次のコミットメッセージを参照:
   https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/readconf.c#rev1.284

Changes since OpenSSH 7.7
=========================

OpenSSH 7.7 からの変更点

This is primarily a bugfix release.

これは基本的にバグ修正のリリースだ.

New Features
------------

新機能

 * ssh(1)/sshd(8): add new signature algorithms "rsa-sha2-256-cert-
   v01@openssh.com" and "rsa-sha2-512-cert-v01@openssh.com" to
   explicitly force use of RSA/SHA2 signatures in authentication.

   ssh(1)/sshd(8): 新しい署名アルゴリズム
   "rsa-sha2-256-cert-v01@openssh.com" と
   "rsa-sha2-512-cert-v01@openssh.com" を追加する.
   これらは 認証での RSA/SHA2 署名を明示的に強制する.

 * sshd(8): extend the PermitUserEnvironment option to accept a
   whitelist of environment variable names in addition to global
   "yes" or "no" settings.

   sshd(8): PermitUserEnvironment 設定項目を拡張し,
   全体の "yes" か "no" の設定に加えて, 環境変数名のホワイトリスト
   を受け入れる.

 * sshd(8): add a PermitListen directive to sshd_config(5) and a
   corresponding permitlisten= authorized_keys option that control
   which listen addresses and port numbers may be used by remote
   forwarding (ssh -R ...).

   sshd(8): sshd_config(5) に PermitListen 設定項目を追加し,
   対応する permitlisten= authorized_keys オプションを追加する.
   これらは, リモート転送 (ssh -R ...) で用いられる
   アドレスとポート番号を制御する.

 * sshd(8): add some countermeasures against timing attacks used for
   account validation/enumeration. sshd will enforce a minimum time
   or each failed authentication attempt consisting of a global 5ms
   minimum plus an additional per-user 0-4ms delay derived from a
   host secret.

   sshd(8): アカウント検証/列挙に用いられるタイミング攻撃に対する
   いくつかの対抗策を追加する. sshd は 
   全体的な 5ms と
   ホストの秘密(鍵?)から導出されるユーザごとの 追加の 0-4ms の
   によって構成される時間をすべての失敗した認証試行に強制する.

 * sshd(8): add a SetEnv directive to allow an administrator to
   explicitly specify environment variables in sshd_config.
   Variables set by SetEnv override the default and client-specified
   environment.

   sshd(8): SetEnv 設定項目で sshd_config 内の環境変数を
   管理者が明示的に指定できるようにする. SetEnv で設定された
   変数は, デフォルトやクライアントに指定された環境を上書きする.

 * ssh(1): add a SetEnv directive to request that the server sets
   an environment variable in the session. Similar to the existing
   SendEnv option, these variables are set subject to server
   configuration.

   ssh(1): SetEnv 設定項目に セッション中にサーバが環境変数を設定する要求を
   追加する. 既存の SendEnv 設定項目と同様に, これらの変数はサーバの
   設定に従って設定される.

 * ssh(1): allow "SendEnv -PATTERN" to clear environment variables
   previously marked for sending to the server. bz#1285

   ssh(1): サーバに送られたと以前マークされた環境変数を
   クリアする "SendEnv -PATTERN" を許可する.

 * ssh(1)/sshd(8): make UID available as a %-expansion everywhere
   that the username is available currently. bz#2870

   ssh(1)/sshd(8): ユーザ名が現在利用可能などこでも %-展開として
   UID を利用可能にする. bz#2870

 * ssh(1): allow setting ProxyJump=none to disable ProxyJump
   functionality. bz#2869

   ssh(1): ProxyJump を機能的に無効にする ProxyJump=none の設定を
   許可する.

Bugfixes
--------

バグ修正

 * sshd(8): avoid observable differences in request parsing that could
   be used to determine whether a target user is valid.

   sshd(8): ターゲットのユーザが有効かどうか判定するのに利用可能だった
   リクエストのパースの観測可能な差異を除く

 * all: substantial internal refactoring

   全体: 相当な内部のリファクタリング

 * ssh(1)/sshd(8): fix some memory leaks; bz#2366

   ssh(1)/sshd(8): いくつかのメモリリークの修正; bz#2366

 * ssh(1): fix a pwent clobber (introduced in openssh-7.7) that could
   occur during key loading, manifesting as crash on some platforms.

   ssh(1): (openssh-7.7 で導入されてしまった) pwent clobber 
   (ファイルディスクリプタのcloseし忘れか?) を修正.
   この問題は 鍵のロード時に発生し, いくつかのプラットフォームでは
   クラッシュする.

 * sshd_config(5): clarify documentation for AuthenticationMethods
   option; bz#2663

   sshd_config(5): AuthenticationMethods 設定項目の記述を明確にする;
   bz#2663

 * ssh(1): ensure that the public key algorithm sent in a
   public key SSH_MSG_USERAUTH_REQUEST matches the content of the
   signature blob. Previously, these could be inconsistent when a
   legacy or non-OpenSSH ssh-agent returned a RSA/SHA1 signature
   when asked to make a RSA/SHA2 signature.

   ssh(1): 公開鍵の SSH_MSG_USERAUTH_REQUEST の中で送られる
   公開鍵アルゴリズムが, その署名ブロブの内容と一致するかを補償する.
   以前, 古いないしOpenSSHでない ssh-agent が RSA/SHA2
   署名を作るように求められた場合に RSA/SHA1 署名を返す場合に
   これらは一貫していないことがありえた.

 * sshd(8): fix failures to read authorized_keys caused by faulty
   supplemental group caching. bz#2873

   sshd(8): 欠陥のある補足的なグループキャッシングにより authorized_keys
   の読み込みの失敗を修正する. bz#2873

 * scp(1): apply umask to directories, fixing potential mkdir/chmod
   race when copying directory trees bz#2839

   scp(1): ディレクトリに umask を適用する. ディレクトリツリーを
   コピーする際の潜在的な mkdir/chmod 競合を修正する. bz#2839

 * ssh-keygen(1): return correct exit code when searching for and
   hashing known_hosts entries in a single operation; bz#2772

   ssh-keygen(1): 単一の操作で known_hosts のエントリを
   検索しハッシュする際に正しい終了コードを返却する. bz#2772

 * ssh(1): prefer the ssh binary pointed to via argv[0] to $PATH when
   re-executing ssh for ProxyJump. bz#2831

   ssh(1): ProxyJump で ssh を再実行するう際に $PATH よりも
   argv[0] が指す ssh バイナリを優先する. bz#2831

 * sshd(8): do not ban PTY allocation when a sshd session is
   restricted because the user password is expired as it breaks
   password change dialog. (regression in openssh-7.7).

   sshd(8): sshd のセッションが制限されている場合に PTY 確保を
   禁止しない. ユーザのパスワードが期限切れになっている場合に
   パスワード変更の対話がうまくいかなくなるから.
   (openssh-7.7 で退行していた)

 * ssh(1)/sshd(8): fix error reporting from select() failures.

   ssh(1)/sshd(8): select() の失敗からのエラーレポートを修正する.

 * ssh(1): improve documentation for -w (tunnel) flag, emphasising
   that -w implicitly sets Tunnel=point-to-point. bz#2365

   ssh(1): -w (tunnel) フラグの文書を改善する. -w は暗黙的に
   Tunnel=point-to-point を設定することを強調する. bz#2365

 * ssh-agent(1): implement EMFILE mitigation for ssh-agent. ssh-agent
   will no longer spin when its file descriptor limit is exceeded.
   bz#2576

   ssh-agent(1): ssh-agent に EMFILE の緩和を実装する. ssh-agent は
   そのファイルディスクリププタ制限を超過した場合に空転しない
   ようになる.

 * ssh(1)/sshd(8): disable SSH2_MSG_DEBUG messages for Twisted Conch
   clients. Twisted Conch versions that lack a version number in
   their identification strings will mishandle these messages when
   running on Python 2.x (https://twistedmatrix.com/trac/ticket/9422)

   ssh(1)/sshd(8): Twisted Conch クライアントのために SSH2_MSG_DEBUG 
   メッセージを無効にする. Twisted Conch のバージョンは, その
   認識文字列にバージョン番号が欠けているので, Python 2.x 上で走らせる
   場合に SSH2_MSG_DEBUG メッセージを間違えて扱う
   (https://twistedmatrix.com/trac/ticket/9422)

 * sftp(1): notify user immediately when underlying ssh process dies
   expectedly. bz#2719

   sftp(1): 基底の ssh プロセスが予想通り死んだ場合にユーザにすぐに
   通知する.

 * ssh(1)/sshd(8): fix tunnel forwarding; regression in 7.7 release.
   bz#2855

   ssh(1)/sshd(8): トンネル転送を修正する. 7.7 リリースで退行してた.
   bz#2855

 * ssh-agent(1): don't kill ssh-agent's listening socket entirely if
   it fails to accept(2) a connection. bz#2837

   ssh-agent(1): accept(2) で接続を失敗した場合に ssh-agent が
   listen するソケットを完全には kill しない. bz#2837

 * sshd(8): relax checking of authorized_keys environment="..."
   options to allow underscores in variable names (regression
   introduced in 7.7). bz#2851

   sshd(8): authorized_keys の environment="..." オプションのチェックを
   緩和し, 変数名に アンダースコアを許す (7.7 で導入された退行).
   bz#2851

 * ssh(1): add some missing options in the configuration dump output
   (ssh -G). bz#2835

   ssh(1): 設定ダンプ出力(ssh -G)で抜けていたいくつかの設定項目を追加する.

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

移植性

 * sshd(8): Expose details of completed authentication to PAM auth
   modules via SSH_AUTH_INFO_0 in the PAM environment. bz#2408

   sshd(8): PAM 環境の SSH_AUTH_INFO_0 によって
   完全な認証の詳細を PAM 認証モジュールに露出する.

 * Fix compilation problems caused by fights between zlib and OpenSSL
   colliding uses of "free_func"

   zlib と OpenSSL 間の "free_func" の利用の衝突の戦いによる
   コンパイルの問題を修正する.

 * Improve detection of unsupported compiler options. Recently these
   may have manifested as "unsupported -Wl,-z,retpoline" warnings
   during linking.

   サポートされていないコンパイラのオプションの検出を改善する.
   最近 サポートされていないオプションがリンク中に
   "unsupported -Wl,-z,retpoline" の警告として明らかになっている
   場合があった.

 * sshd(8): some sandbox support for Linux/s390 bz#2752.

   sshd(8): Linux/s390 に対するいくつかのサンドボックスのサポート.
   bz#2752

 * regress tests: unbreak key-options.sh test on platforms without
   openpty(3). bz#2856

   回帰テスト: openpty(3) がないプラットフォームで key-options.sh 
   テストが壊れないようにする.

 * use getrandom(2) for PRNG seeding when built without OpenSSL.
   
   OpenSSL がない環境でビルドされた場合に PRNG のシードに
   getrandom(2) を利用する.

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

10 Aug, 2018 - 7 minutes

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

Call for testing: OpenSSH 7.8

主にバグ修正のリリースです.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2018-August/037046.html

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれないいくつかの変更を含む:

 * ssh-keygen(1): write OpenSSH format private keys by default
   instead of using OpenSSL's PEM format. The OpenSSH format,
   supported in OpenSSH releases since 2014 and described in the
   PROTOCOL.key file in the source distribution, offers substantially
   better protection against offline password guessing and supports
   key comments in private keys. If necessary, it is possible to write
   old PEM-style keys by adding "-m PEM" to ssh-keygen's arguments
   when generating or updating a key.

   ssh-keygen(1): デフォルトでOpenSSL の PEM 形式を使う代わりに
   OpenSSH 形式の秘密鍵を書き込む. OpenSSH 形式は,
   2014 年以降の OpenSSH のリリースでサポートされており,
   ソース配布の PROTOCOL.key ファイルで記述されている.
   この形式は, オフラインのパスワード推測に対して実質的に
   よりよい保護を提供し, 秘密鍵の中の鍵コメントをサポートしている.
   必要があれば,  鍵を生成したり更新する際に ssh-keygen の引数に
   "-m PEM" と加えることで古い PEM 形式の鍵を書き込むことが可能だ.

 * sshd(8): remove internal support for S/Key multiple factor
   authentication. S/Key may still be used via PAM or BSD auth.

   sshd(8): S/Key 多要素認証の内部サポートを除く. S/Key は
   PAM か BSD認証経由でまだ利用できるだろう.

 * ssh(1): remove vestigal support for running ssh(1) as setuid. This
   used to be required for hostbased authentication and the (long
   gone) rhosts-style authentication, but has not been necessary for
   a long time. Attempting to execute ssh as a setuid binary, or with
   uid != effective uid will now yield a fatal error at runtime.

   ssh(1): ssh(1) を setuid で走らせる痕跡のないサポートを除く.
   これは, ホストベース認証や (太古の) rhost 認証で必要とされていた
   ものだが, 長い間必要がなくなっている. ssh を setuid バイナリとして
   実行しようとしたり, uid と実効 uid が異なる状態で実効しようとすると
   今後実行時に致命的エラーを生成するようになる

 * sshd(8): the semantics of PubkeyAcceptedKeyTypes and the similar
   HostbasedAcceptedKeyTypes options have changed. These now specify
   signature algorithms that are accepted for their respective
   authentication mechanism, where previously they specified accepted
   key types. This distinction matters when using the RSA/SHA2
   signature algorithms "rsa-sha2-256", "rsa-sha2-512" and their
   certificate counterparts. Configurations that override these
   options but omit these algorithm names may cause unexpected
   authentication failures (no action is required for configurations
   that accept the default for these options).

   sshd(8): PubkeyAcceptedKeyTypes と類似の HostbasedAcceptedKeyTypes
   設定項目の形式を変更する. これらは, 今後それらそれぞれの
   認証メカニズムで受けいれる署名アルゴリズムを指定できる.
   以前は受け入れる鍵のタイプを指定していた. RSA/SHA2 の署名アルゴリズム
   "rsa-sha2-256" と "rsa-sha2-512" と それらの証明書を用いる場合に
   この区別が意味を持つ.
   これらの設定項目を上書きするがこれらのアルゴリズム名を除いた
   設定は, 予期しない認証の失敗を引き起すかもしれない.
   (これらのの設定項目についてデフォルトのままの設定であればなにも
   対応の必要はない).

 * sshd(8): the precedence of session environment variables has
   changed. ~/.ssh/environment and environment="..." options in
   authorized_keys files can no longer override SSH_* variables set
   implicitly by sshd.

   sshd(8): セッション変数の設定の優先順位を変更する. ~/.ssh/environment
   と authorized_keys 中の environment="..." オプションは,
   ssdh で暗黙的に設定される SSH_* 変数をもはや上書きできない.

 * ssh(1)/sshd(8): the default IPQoS used by ssh/sshd has changed.
   They will now use DSCP AF21 for interactive traffic and CS1 for
   bulk.  For a detailed rationale, please see the commit message:
   https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/readconf.c#rev1.284

   ssh(1)/sshd(8): ssh/sshd で用いられるデフォルトの IPQoS を変更する.
   今後 インタラクティブなトラフィックでは DSCP AF21 を用い,
   バルクなトラフィックでは CS1 を用いる. 詳細な根拠は,
   次のコミットメッセージを参照:
   https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/readconf.c#rev1.284

Changes since OpenSSH 7.7
=========================

OpenSSH 7.7 からの変更点

This is primarily a bugfix release.

これは基本的にバグ修正のリリースだ.

New Features
------------

新機能

 * ssh(1)/sshd(8): add new signature algorithms "rsa-sha2-256-cert-
   v01@openssh.com" and "rsa-sha2-512-cert-v01@openssh.com" to
   explicitly force use of RSA/SHA2 signatures in authentication.

   ssh(1)/sshd(8): 新しい署名アルゴリズム
   "rsa-sha2-256-cert-v01@openssh.com" と
   "rsa-sha2-512-cert-v01@openssh.com" を追加する.
   これらは 認証での RSA/SHA2 署名を明示的に強制する.

 * sshd(8): extend the PermitUserEnvironment option to accept a
   whitelist of environment variable names in addition to global
   "yes" or "no" settings.

   sshd(8): PermitUserEnvironment 設定項目を拡張し,
   全体の "yes" か "no" の設定に加えて, 環境変数名のホワイトリスト
   を受け入れる.

 * sshd(8): add a PermitListen directive to sshd_config(5) and a
   corresponding permitlisten= authorized_keys option that control
   which listen addresses and port numbers may be used by remote
   forwarding (ssh -R ...).

   sshd(8): sshd_config(5) に PermitListen 設定項目を追加し,
   対応する permitlisten= authorized_keys オプションを追加する.
   これらは, リモート転送 (ssh -R ...) で用いられる
   アドレスとポート番号を制御する.

 * sshd(8): add some countermeasures against timing attacks used for
   account validation/enumeration. sshd will enforce a minimum time
   or each failed authentication attempt consisting of a global 5ms
   minimum plus an additional per-user 0-4ms delay derived from a
   host secret.

   sshd(8): アカウント検証/列挙に用いられるタイミング攻撃に対する
   いくつかの対抗策を追加する. sshd は 
   全体的な 5ms と
   ホストの秘密(鍵?)から導出されるユーザごとの 追加の 0-4ms の
   によって構成される時間をすべての失敗した認証試行に強制する.

 * sshd(8): add a SetEnv directive to allow an administrator to
   explicitly specify environment variables in sshd_config.
   Variables set by SetEnv override the default and client-specified
   environment.

   sshd(8): SetEnv 設定項目で sshd_config 内の環境変数を
   管理者が明示的に指定できるようにする. SetEnv で設定された
   変数は, デフォルトやクライアントに指定された環境を上書きする.

 * ssh(1): add a SetEnv directive to request that the server sets
   an environment variable in the session. Similar to the existing
   SendEnv option, these variables are set subject to server
   configuration.

   ssh(1): SetEnv 設定項目に セッション中にサーバが環境変数を設定する要求を
   追加する. 既存の SendEnv 設定項目と同様に, これらの変数はサーバの
   設定に従って設定される.

 * ssh(1): allow "SendEnv -PATTERN" to clear environment variables
   previously marked for sending to the server. bz#1285

   ssh(1): サーバに送られたと以前マークされた環境変数を
   クリアする "SendEnv -PATTERN" を許可する.

 * ssh(1)/sshd(8): make UID available as a %-expansion everywhere
   that the username is available currently. bz#2870

   ssh(1)/sshd(8): ユーザ名が現在利用可能などこでも %-展開として
   UID を利用可能にする. bz#2870

 * ssh(1): allow setting ProxyJump=none to disable ProxyJump
   functionality. bz#2869

   ssh(1): ProxyJump を機能的に無効にする ProxyJump=none の設定を
   許可する.

Bugfixes
--------

バグ修正

 * all: substantial internal refactoring

   全体: 相当な内部のリファクタリング

 * sshd(8): avoid observable differences in request parsing that could
   be used to determine whether a target user is valid.

   sshd(8): ターゲットのユーザが有効かどうか判定するのに利用可能だった
   リクエストのパースの観測可能な差異を除く

 * ssh(1)/sshd(8): fix some memory leaks; bz#2366

   ssh(1)/sshd(8): いくつかのメモリリークの修正; bz#2366

 * ssh(1): fix a pwent clobber (introduced in openssh-7.7) that could
   occur during key loading, manifesting as crash on some platforms.

   ssh(1): (openssh-7.7 で導入されてしまった) pwent clobber 
   (ファイルディスクリプタのcloseし忘れか?) を修正.
   この問題は 鍵のロード時に発生し, いくつかのプラットフォームでは
   クラッシュする.

 * sshd_config(5): clarify documentation for AuthenticationMethods
   option; bz#2663

   sshd_config(5): AuthenticationMethods 設定項目の記述を明確にする;
   bz#2663

 * ssh(1): ensure that the public key algorithm sent in a
   public key SSH_MSG_USERAUTH_REQUEST matches the content of the
   signature blob. Previously, these could be inconsistent when a
   legacy or non-OpenSSH ssh-agent returned a RSA/SHA1 signature
   when asked to make a RSA/SHA2 signature.

   ssh(1): 公開鍵の SSH_MSG_USERAUTH_REQUEST の中で送られる
   公開鍵アルゴリズムが, その署名ブロブの内容と一致するかを補償する.
   以前, 古いないしOpenSSHでない ssh-agent が RSA/SHA2
   署名を作るように求められた場合に RSA/SHA1 署名を返す場合に
   これらは一貫していないことがありえた.

 * sshd(8): fix failures to read authorized_keys caused by faulty
   supplemental group caching. bz#2873

   sshd(8): 欠陥のある補足的なグループキャッシングにより authorized_keys
   の読み込みの失敗を修正する. bz#2873

 * scp(1): apply umask to directories, fixing potential mkdir/chmod
   race when copying directory trees bz#2839

   scp(1): ディレクトリに umask を適用する. ディレクトリツリーを
   コピーする際の潜在的な mkdir/chmod 競合を修正する. bz#2839

 * ssh-keygen(1): return correct exit code when searching for and
   hashing known_hosts entries in a single operation; bz#2772

   ssh-keygen(1): 単一の操作で known_hosts のエントリを
   検索しハッシュする際に正しい終了コードを返却する. bz#2772

 * ssh(1): prefer the ssh binary pointed to via argv[0] to $PATH when
   re-executing ssh for ProxyJump. bz#2831

   ssh(1): ProxyJump で ssh を再実行するう際に $PATH よりも
   argv[0] が指す ssh バイナリを優先する. bz#2831

 * sshd(8): do not ban PTY allocation when a sshd session is
   restricted because the user password is expired as it breaks
   password change dialog. (regression in openssh-7.7).

   sshd(8): sshd のセッションが制限されている場合に PTY 確保を
   禁止しない. ユーザのパスワードが期限切れになっている場合に
   パスワード変更の対話がうまくいかなくなるから.
   (openssh-7.7 で退行していた)

 * ssh(1)/sshd(8): fix error reporting from select() failures.

   ssh(1)/sshd(8): select() の失敗からのエラーレポートを修正する.

 * ssh(1): improve documentation for -w (tunnel) flag, emphasising
   that -w implicitly sets Tunnel=point-to-point. bz#2365

   ssh(1): -w (tunnel) フラグの文書を改善する. -w は暗黙的に
   Tunnel=point-to-point を設定することを強調する. bz#2365

 * ssh-agent(1): implement EMFILE mitigation for ssh-agent. ssh-agent
   will no longer spin when its file descriptor limit is exceeded.
   bz#2576

   ssh-agent(1): ssh-agent に EMFILE の緩和を実装する. ssh-agent は
   そのファイルディスクリププタ制限を超過した場合に空転しない
   ようになる.

 * ssh(1)/sshd(8): disable SSH2_MSG_DEBUG messages for Twisted Conch
   clients. Twisted Conch versions that lack a version number in
   their identification strings will mishandle these messages when
   running on Python 2.x (https://twistedmatrix.com/trac/ticket/9422)

   ssh(1)/sshd(8): Twisted Conch クライアントのために SSH2_MSG_DEBUG 
   メッセージを無効にする. Twisted Conch のバージョンは, その
   認識文字列にバージョン番号が欠けているので, Python 2.x 上で走らせる
   場合に SSH2_MSG_DEBUG メッセージを間違えて扱う
   (https://twistedmatrix.com/trac/ticket/9422)

 * sftp(1): notify user immediately when underlying ssh process dies
   expectedly. bz#2719

   sftp(1): 基底の ssh プロセスが予想通り死んだ場合にユーザにすぐに
   通知する.

 * ssh(1)/sshd(8): fix tunnel forwarding; regression in 7.7 release.
   bz#2855

   ssh(1)/sshd(8): トンネル転送を修正する. 7.7 リリースで退行してた.
   bz#2855

 * ssh-agent(1): don't kill ssh-agent's listening socket entirely if
   it fails to accept(2) a connection. bz#2837

   ssh-agent(1): accept(2) で接続を失敗した場合に ssh-agent が
   listen するソケットを完全には kill しない. bz#2837

 * sshd(8): relax checking of authorized_keys environment="..."
   options to allow underscores in variable names (regression
   introduced in 7.7). bz#2851

   sshd(8): authorized_keys の environment="..." オプションのチェックを
   緩和し, 変数名に アンダースコアを許す (7.7 で導入された退行).
   bz#2851

 * ssh(1): add some missing options in the configuration dump output
   (ssh -G). bz#2835

   ssh(1): 設定ダンプ出力(ssh -G)で抜けていたいくつかの設定項目を追加する.

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

移植性

 * sshd(8): Expose details of completed authentication to PAM auth
   modules via SSH_AUTH_INFO_0 in the PAM environment. bz#2408

   sshd(8): PAM 環境の SSH_AUTH_INFO_0 によって
   完全な認証の詳細を PAM 認証モジュールに露出する.

 * Fix compilation problems caused by fights between zlib and OpenSSL
   colliding uses of "free_func"

   zlib と OpenSSL 間の "free_func" の利用の衝突の戦いによる
   コンパイルの問題を修正する.

 * Improve detection of unsupported compiler options. Recently these
   may have manifested as "unsupported -Wl,-z,retpoline" warnings
   during linking.

   サポートされていないコンパイラのオプションの検出を改善する.
   最近 サポートされていないオプションがリンク中に
   "unsupported -Wl,-z,retpoline" の警告として明らかになっている
   場合があった.

 * sshd(8): some sandbox support for Linux/s390 bz#2752.

   sshd(8): Linux/s390 に対するいくつかのサンドボックスのサポート.
   bz#2752

 * regress tests: unbreak key-options.sh test on platforms without
   openpty(3). bz#2856

   回帰テスト: openpty(3) がないプラットフォームで key-options.sh 
   テストが壊れないようにする.

 * use getrandom(2) for PRNG seeding when built without OpenSSL.
   
   OpenSSL がない環境でビルドされた場合に PRNG のシードに
   getrandom(2) を利用する.

OpenSSH 7.7 がリリースされました

3 Apr, 2018 - 7 minutes

2018/04/03, OpenSSH 7.7 がリリースされました.

バグ修正が中心のリリースです.

# https://www.openssh.com/txt/release-7.7

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更を若干含んでいる.

 * ssh(1)/sshd(8): Drop compatibility support for some very old SSH
   implementations, including ssh.com <=2.* and OpenSSH <= 3.*. These
   versions were all released in or before 2001 and predate the final
   SSH RFCs. The support in question isn't necessary for RFC-compliant
   SSH implementations.


   ssh(1)/sshd(8): いくつかの非常に古い SSH 実装に対する互換性サポートを
   落す. ssh.com <=2.* や OpenSSH <= .3* を含む.
   これらのバージョンすべて, 2001年以前にリリースされており 最終の
   SSH RFC よりも前のものだ. これらのサポートは, RFC 準拠の
   SSH 実装には必要ない.

Changes since OpenSSH 7.6
=========================

OpenSSH 7.6 からの変更点

This is primarily a bugfix release.

これは主にバグ修正のリリースだ.


New Features
------------

新機能

 * All: Add experimental support for PQC XMSS keys (Extended Hash-
   Based Signatures) based on the algorithm described in
   https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12
   The XMSS signature code is experimental and not compiled in by
   default.

   https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12
   に記述されているアルゴリズムに基づく PQC XMSS 鍵 (拡張ハッシュベース署名)
   の実験的サポートを追加する. XMSS 署名コードは実験的で, デフォルトでは
   コンパイルされない.

 * sshd(8): Add a "rdomain" criteria for the sshd_config Match keyword
   to allow conditional configuration that depends on which routing
   domain a connection was received on (currently supported on OpenBSD
   and Linux).

   sshd(8): sshd_config の Match のキーワードに rdomain  基準を追加する.
   これにより,  (現在 OpenBSD と Linux でサポートされている)
   接続を受けとったルーティングドメインに依存した設定が可能となる

 * sshd_config(5): Add an optional rdomain qualifier to the
   ListenAddress directive to allow listening on different routing
   domains. This is supported only on OpenBSD and Linux at present.

   sshd_config(5): rdomain 識別子を ListenAddress 設定項目に追加する.
   異なるルーティングドメインでの listen を可能にする.
   現在 OpenBSD と Linux でのみサポートされる.

 * sshd_config(5): Add RDomain directive to allow the authenticated
   session to be placed in an explicit routing domain. This is only
   supported on OpenBSD at present.

   sshd_config(5) RDomain 設定項目を追加する. 認証されたセッションを
   明示的なルーティングドメインに配置できる. 現在 OpenBSD でのみ
   サポートされる.

 * sshd(8): Add "expiry-time" option for authorized_keys files to
   allow for expiring keys.

   authorized_keys ファイルのオプションに "expiry-time" を追加する.
   鍵の期限切れを可能にする.

 * ssh(1): Add a BindInterface option to allow binding the outgoing
   connection to an interface's address (basically a more usable
   BindAddress)

   ssh(1): BindInterface オプションを追加する. 外部への接続を bind する
   インタフェースのアドレスを指定できる (基本的により便利な BindAddress
   だ)

 * ssh(1): Expose device allocated for tun/tap forwarding via a new
   %T expansion for LocalCommand. This allows LocalCommand to be used
   to prepare the interface.

   ssh(1): LocalCommand のための 新しい %T 展開により tun/tap
   転送で割り当てられたデバイスをあらわにする. これは LocalCommand
   をそのインタフェイスを準備するのに使うことができる.

 * sshd(8): Expose the device allocated for tun/tap forwarding via a
   new SSH_TUNNEL environment variable. This allows automatic setup of
   the interface and surrounding network configuration automatically on
   the server.

   新しい SSH_TUNNEL 環境変数で tun/tap 転送で割り当てられたデバイスを
   あらわにする. これにより, そのインタフェイスの自動的な設定や
   そのサーバでの自動的な周囲のネットワーク設定が可能となる.

 * ssh(1)/scp(1)/sftp(1): Add URI support to ssh, sftp and scp, e.g.
   ssh://user@host or sftp://user@host/path.  Additional connection
   parameters described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not
   implemented since the ssh fingerprint format in the draft uses the
   deprecated MD5 hash with no way to specify the any other algorithm.

   ssh(1)/scp(1)/sftp(1): ssh, sftp, scp に URI サポートを追加する.
   例えば: ssh://user@host や sftp://user@host/path.
   draft-ietf-secsh-scp-sftp-ssh-uri-04 に記述されている追加の接続パラメータは
   実装されていない. このドラフトの ssh 指紋形式が廃止予定のMD5ハッシュを
   用いていて他のアルゴリズムを指定する方法がないからだ.

 * ssh-keygen(1): Allow certificate validity intervals that specify
   only a start or stop time (instead of both or neither).

   ssh-keygen(1): 証明書の検証期間で, 開始/終了日時だけを指定できるようにする
   (両方ないし指定しないか ではなく)

 * sftp(1): Allow "cd" and "lcd" commands with no explicit path
   argument. lcd will change to the local user's home directory as
   usual. cd will change to the starting directory for session (because
   the protocol offers no way to obtain the remote user's home
   directory). bz#2760

   sftp(1): 明示的なパス引数のない "cd" と "lcd" コマンドを許可する.
   lcd は例によってローカルユーザのホームディレクトリに変更する.
   cd は セッションでの開始ディレクトリに変更する (プロトコルは
   リモートユーザのホームディレクトリを得る方法を提供していないからだ).

 * sshd(8): When doing a config test with sshd -T, only require the
   attributes that are actually used in Match criteria rather than (an
   incomplete list of) all criteria.

   sshd(8): sshd -T で設定のテストをする際, Match の基準で
   すべての基準(の不完全なリスト)ではなく実際に利用される属性のみを要求する.

Bugfixes
--------

バグ修正

 * ssh(1)/sshd(8): More strictly check signature types during key
   exchange against what was negotiated. Prevents downgrade of RSA
   signatures made with SHA-256/512 to SHA-1.

   ssh(1)/sshd(8): 鍵交換の間により厳密に署名のタイプを交渉されたものか
   どうかチェックする. RSA 署名が SHA-256/512 を用いて
   作られたものから SHA-1 で作られたものにダウングレードするのを防止する.

 * sshd(8): Fix support for client that advertise a protocol version
   of "1.99" (indicating that they are prepared to accept both SSHv1 and
   SSHv2). This was broken in OpenSSH 7.6 during the removal of SSHv1
   support. bz#2810

   sshd(8): クライアントの "1.99" プロトコルバージョンの広告のサポートを修正する
   (SSHv1 と SSHv2 両方を受けつける準備があることを示す) OpenSSH 7.6
   での SSHv1 のサポートの除去により壊れていた. bz#2810

 * ssh(1): Warn when the agent returns a ssh-rsa (SHA1) signature when
   a rsa-sha2-256/512 signature was requested. This condition is possible
   when an old or non-OpenSSH agent is in use. bz#2799

   ssh(1): rsa-sha2-256/512 署名が要求された場合にエージェントが
   ssh-rsa(SHA1) 署名を返したら警告する. 古いエージェントや OpenSSH
   でないエージェントが利用されていると, この条件がありえる. bz#2799

 * ssh-agent(1): Fix regression introduced in 7.6 that caused ssh-agent
   to fatally exit if presented an invalid signature request message.

   無効な署名要求メッセージが提示されると ssh-agent が致命的に終了する
   7.6 で導入された回帰テストの問題を修正する.

 * sshd_config(5): Accept yes/no flag options case-insensitively, as
   has been the case in ssh_config(5) for a long time. bz#2664

   sshd_config(5): yes/no のフラグ設定項目を大文字小文字を区別せず
   受付けるようにする. ssh_config(5) では長い間このようになっているように
   bz#2664

 * ssh(1): Improve error reporting for failures during connection.
   Under some circumstances misleading errors were being shown. bz#2814

   ssh(1): 接続中の失敗に対するエラーレポートを改善する. いくつかの
   状況下で, 誤解を招くエラーが表示されていた. bz#2814

 * ssh-keyscan(1): Add -D option to allow printing of results directly
   in SSHFP format. bz#2821

   ssh-keyscan(1): SSHFP 形式で直接結果を表示する -D
   オプションを追加する.

 * regress tests: fix PuTTY interop test broken in last release's SSHv1
   removal. bz#2823

   回帰テスト: 前のリリースの SSHv1 の除去で壊れた PuTTY
   相互運用性テストを修正する.

 * ssh(1): Compatibility fix for some servers that erroneously drop the
   connection when the IUTF8 (RFC8160) option is sent.

   ssh(1): IUTF8(RFC8160) オプションが送られた場合に誤って接続を落とす
   いくつかのサーバに対する互換性の修正

 * scp(1): Disable RemoteCommand and RequestTTY in the ssh session
   started by scp (sftp was already doing this.)

   scp(1): (sftp ではすでにそうしているように) scp で開始された ssh
   セッションでは RemoteCommand と RequestTTY を無効にする.

 * ssh-keygen(1): Refuse to create a certificate with an unusable
   number of principals.

   ssh-keygen(1): 利用できない数のプリンシパルを持つ証明書の作成を
   拒否する.

 * ssh-keygen(1): Fatally exit if ssh-keygen is unable to write all the
   public key during key generation. Previously it would silently
   ignore errors writing the comment and terminating newline.

   ssh-keygen(1): ssh-keygen が 鍵生成時にすべての公開鍵を保存できなければ
   致命的に終了する. 以前は, コメントを書く場合と改行で終端する場合に
   エラーを静かに無視していた.

 * ssh(1): Do not modify hostname arguments that are addresses by
   automatically forcing them to lower-case. Instead canonicalise them
   to resolve ambiguities (e.g. ::0001 => ::1) before they are matched
   against known_hosts. bz#2763

   ssh(1): ホスト名引数はIPアドレスの場合には自動的に小文字化するが,
   そうでなければ変更しない. かわりに, known_hosts にマッチさせる前に,
   あいまいさを解決するため(例えば ::0001 => ::1) ホスト名引数を正規化する.

 * ssh(1): Don't accept junk after "yes" or "no" responses to hostkey
   prompts. bz#2803

   ssh(1): ホスト鍵のプロンプトの "yes" か "no" の応答のあとにゴミを
   受け付けない. bz#2803

 * sftp(1): Have sftp print a warning about shell cleanliness when
   decoding the first packet fails, which is usually caused by shells
   polluting stdout of non-interactive startups. bz#2800

   sftp(1): 非対話の起動で標準出力が汚染されたシェルによって通常引き起こされる
   最初のパケットのデコードが失敗した場合に,
   シェルの清潔さについての警告を sftp が出力する.

 * ssh(1)/sshd(8): Switch timers in packet code from using wall-clock
   time to monotonic time, allowing the packet layer to better function
   over a clock step and avoiding possible integer overflows during
   steps.

   ssh(1)/sshd(8): パケッドコード中のタイマーで, wall-clock 時間から
   monotonic 時間を利用するように変更する. パケット層で,
   クロックのステップに対するよりより扱いが可能となり, ステップ間での
   潜在的な整数オーバーフローを回避する.

 * Numerous manual page fixes and improvements.

   たくさんのマニュアルページの修正と改善.


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

移植性

 * sshd(8): Correctly detect MIPS ABI in use at configure time. Fixes
   sandbox violations on some environments.

   sshd(8): configure 時に MIPS API が利用できるか正しく検知する.
   いくつかの環境でサンドボックスの破壊を修正する.

 * sshd(8): Remove UNICOS support. The hardware and software are literal
   museum pieces and support in sshd is too intrusive to justify
   maintaining.

   sshd(8): UNICOS サポートを除去する.  ハードウェアもソフトウェアも文字通りの
   博物館もので, sshd でのサポートで保守を正当化するには邪魔ものすぎる

 * All: Build and link with "retpoline" flags when available to mitigate
   the "branch target injection" style (variant 2) of the Spectre
   branch-prediction vulnerability.

   すべて: Spectre 分岐予測脆弱性の "branch target injection" スタイル(variant 2) を緩和する
   ことができる, retpoline フラグ付きでのビルドとリンク.

 * All: Add auto-generated dependency information to Makefile.

   すべて: Makefile に自動生成された依存情報を追加する.

 * Numerous fixed to the RPM spec files.

   RPM spec ファイルを沢山修正した.

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

22 Mar, 2018 - 7 minutes

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

Call for testing: OpenSSH 7.7

主にバグ修正のリリースです.

# https://lists.mindrot.org/pipermail/openssh-unix-dev/2018-March/036759.html

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更を若干含んでいる.

 * ssh(1)/sshd(8): Drop compatibility support for some very old SSH
   implementations, including ssh.com <=2.* and OpenSSH <= 3.*.
   These versions were all released in or before 2001 and predate the
   final SSH RFCs. The support in question isn't necessary for RFC-
   compliant SSH implementations.

   ssh(1)/sshd(8): いくつかの非常に古い SSH 実装に対する互換性サポートを
   落す. ssh.com <=2.* や OpenSSH <= .3* を含む.
   これらのバージョンすべて, 2001年以前にリリースされており 最終の
   SSH RFC よりも前のものだ. これらのサポートは, RFC 準拠の
   SSH 実装には必要ない.

Changes since OpenSSH 7.6
=========================

OpenSSH 7.6 からの変更点

This is primarily a bugfix release.

これは主にバグ修正のリリースだ.


New Features
------------

新機能

 * All: Add experimental support for PQC XMSS keys (Extended Hash-
   Based Signatures) based on the algorithm described in
   https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12
   The XMSS signature code is experimental and not compiled in by
   default.

   https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12
   に記述されているアルゴリズムに基づく PQC XMSS 鍵 (拡張ハッシュベース署名)
   の実験的サポートを追加する. XMSS 署名コードは実験的で, デフォルトでは
   コンパイルされない.

 * sshd(8): Add a "rdomain" criteria for the sshd_config Match keyword
   to allow conditional configuration that depends on which routing
   domain a connection was received on (currently supported on OpenBSD
   and Linux).

   sshd(8): sshd_config の Match のキーワードに rdomain  基準を追加する.
   これにより,  (現在 OpenBSD と Linux でサポートされている)
   接続を受けとったルーティングドメインに依存した設定が可能となる

 * sshd_config(5): Add an optional rdomain qualifier to the
   ListenAddress directive to allow listening on different routing
   domains. This is supported only on OpenBSD and Linux at present.

   sshd_config(5): rdomain 識別子を ListenAddress 設定項目に追加する.
   異なるルーティングドメインでの listen を可能にする.
   現在 OpenBSD と Linux でのみサポートされる.

 * sshd_config(5): Add RDomain directive to allow the authenticated
   session to be placed in an explicit routing domain. This is only
   supported on OpenBSD at present.

   sshd_config(5) RDomain 設定項目を追加する. 認証されたセッションを
   明示的なルーティングドメインに配置できる. 現在 OpenBSD でのみ
   サポートされる.

 * sshd(8): Add "expiry-time" option for authorized_keys files to
   allow for expiring keys.

   authorized_keys ファイルのオプションに "expiry-time" を追加する.
   鍵の期限切れを可能にする.

 * ssh(1): Add a BindInterface option to allow binding the outgoing
   connection to an interface's address (basically a more usable
   BindAddress)

   ssh(1): BindInterface オプションを追加する. 外部への接続を bind する
   インタフェースのアドレスを指定できる (基本的により便利な BindAddress
   だ)

 * ssh(1): Expose device allocated for tun/tap forwarding via a new
   %T expansion for LocalCommand. This allows LocalCommand to be used
   to prepare the interface.

   ssh(1): LocalCommand のための 新しい %T 展開により tun/tap
   転送で割り当てられたデバイスをあらわにする. これは LocalCommand
   をそのインタフェイスを準備するのに使うことができる.

 * sshd(8): Expose the device allocated for tun/tap forwarding via a
   new SSH_TUNNEL environment variable. This allows automatic setup of
   the interface and surrounding network configuration automatically on
   the server.

   新しい SSH_TUNNEL 環境変数で tun/tap 転送で割り当てられたデバイスを
   あらわにする. これにより, そのインタフェイスの自動的な設定や
   そのサーバでの自動的な周囲のネットワーク設定が可能となる.

 * ssh(1)/scp(1)/sftp(1): Add URI support to ssh, sftp and scp, e.g.
   ssh://user@host or sftp://user@host/path.  Additional connection
   parameters described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not
   implemented since the ssh fingerprint format in the draft uses the
   deprecated MD5 hash with no way to specify the any other algorithm.

   ssh(1)/scp(1)/sftp(1): ssh, sftp, scp に URI サポートを追加する.
   例えば: ssh://user@host や sftp://user@host/path.
   draft-ietf-secsh-scp-sftp-ssh-uri-04 に記述されている追加の接続パラメータは
   実装されていない. このドラフトの ssh 指紋形式が廃止予定のMD5ハッシュを
   用いていて他のアルゴリズムを指定する方法がないからだ.

 * ssh-keygen(1): Allow certificate validity intervals that specify
   only a start or stop time (instead of both or neither).

   ssh-keygen(1): 証明書の検証期間で, 開始/終了日時だけを指定できるようにする
   (両方ないし指定しないか ではなく)

 * sftp(1): Allow "cd" and "lcd" commands with no explicit path
   argument. lcd will change to the local user's home directory as
   usual. cd will change to the starting directory for session (because
   the protocol offers no way to obtain the remote user's home
   directory). bz#2760

   sftp(1): 明示的なパス引数のない "cd" と "lcd" コマンドを許可する.
   lcd は例によってローカルユーザのホームディレクトリに変更する.
   cd は セッションでの開始ディレクトリに変更する (プロトコルは
   リモートユーザのホームディレクトリを得る方法を提供していないからだ).

 * sshd(8): When doing a config test with sshd -T, only require the
   attributes that are actually used in Match criteria rather than (an
   incomplete list of) all criteria.

   sshd(8): sshd -T で設定のテストをする際, Match の基準で
   すべての基準(の不完全なリスト)ではなく実際に利用される属性のみを要求する.

 * sshd(8): Fix support for client that advertise a protocol version
   of "1.99" (indicating that they are prepared to accept both SSHv1 and
   SSHv2). This was broken in OpenSSH 7.6 during the removal of SSHv1
   support. bz#2810

   sshd(8): クライアントの "1.99" プロトコルバージョンの広告のサポートを修正する
   (SSHv1 と SSHv2 両方を受けつける準備があることを示す) OpenSSH 7.6
   での SSHv1 のサポートの除去により壊れていた. bz#2810

Bugfixes
--------

バグ修正

 * ssh(1): Warn when the agent returns a ssh-rsa (SHA1) signature when
   a rsa-sha2-256/512 signature was requested. This condition is possible
   when an old or non-OpenSSH agent is in use. bz#2799

   ssh(1): rsa-sha2-256/512 署名が要求された場合にエージェントが
   ssh-rsa(SHA1) 署名を返したら警告する. 古いエージェントや OpenSSH
   でないエージェントが利用されていると, この条件がありえる. bz#2799

 * ssh(1)/sshd(8): More strictly check signature types during key
   exchange against what was negotiated. Prevents downgrade of RSA
   signatures made with SHA-256/512 to SHA-1.

   ssh(1)/sshd(8): 鍵交換の間により厳密に署名のタイプを交渉されたものか
   どうかチェックする. RSA 署名が SHA-256/512 を用いて
   作られたものから SHA-1 で作られたものにダウングレードするのを防止する.

 * ssh-agent(1): Fix regression introduce in 7.6 that caused ssh-agent
   to fatally exit if presented an invalid signature request message.

   無効な署名要求メッセージが提示されると ssh-agent が致命的に終了する
   7.6 で導入された回帰テストの問題を修正する.

 * sshd_config(5): Accept yes/no flag options case-insensitively, as
   has been the case in ssh_config(5) for a long time. bz#2664

   sshd_config(5): yes/no のフラグ設定項目を大文字小文字を区別せず
   受付けるようにする. ssh_config(5) では長い間このようになっているように
   bz#2664

 * ssh(1): Improve error reporting for failures during connection.
   Under some circumstances misleading errors were being shows. bz#2814

   ssh(1): 接続中の失敗に対するエラーレポートを改善する. いくつかの
   状況下で, 誤解を招くエラーが表示されていた. bz#2814

 * ssh-keyscan(1): Add -D option to allow printing of results directly
   in SSHFP format. bz#2821

   ssh-keyscan(1): SSHFP 形式で直接結果を表示する -D
   オプションを追加する.

 * regress tests: fix PuTTY interop test broken in last release's SSHv1
   removal. bz#2823

   回帰テスト: 前のリリースの SSHv1 の除去で壊れた PuTTY
   相互運用性テストを修正する.

 * ssh(1): Compatibility fix for some servers that erroneously drop the
   connection when the IUTF8 (RFC8160) option is sent.

   ssh(1): IUTF8(RFC8160) オプションが送られた場合に誤って接続を落とす
   いくつかのサーバに対する互換性の修正

 * scp(1): Disable RemoteCommand and RequestTTY in the ssh session
   started by scp (sftp was already doing this.)

   scp(1): (sftp ではすでにそうしているように) scp で開始された ssh
   セッションでは RemoteCommand と RequestTTY を無効にする.

 * ssh-keygen(1): Refuse to create a certificate with an unusable
   number of principals.

   ssh-keygen(1): 利用できない数のプリンシパルを持つ証明書の作成を
   拒否する.

 * ssh-keygen(1): Fatally exit if ssh-keygen is unable to write all the
   public key during key generation. Previously it would silently
   ignore errors writing the comment and terminating newline.

   ssh-keygen(1): ssh-keygen が 鍵生成時にすべての公開鍵を保存できなければ
   致命的に終了する. 以前は, コメントを書く場合と改行で終端する場合に
   エラーを静かに無視していた.

 * ssh(1): Do not modify hostname arguments that are addresses by
   automatically forcing them to lower-case. Instead canonicalise them
   to resolve ambiguities (e.g. ::0001 => ::1) before they are matched
   against known_hosts. bz#2763

   ssh(1): ホスト名引数はIPアドレスの場合には自動的に小文字化するが,
   そうでなければ変更しない. かわりに, known_hosts にマッチさせる前に,
   あいまいさを解決するため(例えば ::0001 => ::1) ホスト名引数を正規化する.

 * ssh(1): Don't accept junk after "yes" or "no" responses to hostkey
   prompts. bz#2803

   ssh(1): ホスト鍵のプロンプトの "yes" か "no" の応答のあとにゴミを
   受け付けない. bz#2803

 * sftp(1): Have sftp print a warning about shell cleanliness when
   decoding the first packet fails, which is usually caused by shells
   polluting stdout of non-interactive startups. bz#2800

   sftp(1): 非対話の起動で標準出力が汚染されたシェルによって通常引き起こされる
   最初のパケットのデコードが失敗した場合に,
   シェルの清潔さについての警告を sftp が出力する.

 * ssh(1)/sshd(8): Switch timers in packet code from using wall-clock
   time to monotonic time, allowing the packet layer to better function
   over a clock step and avoiding possible integer overflows during
   steps.

   ssh(1)/sshd(8): パケッドコード中のタイマーで, wall-clock 時間から
   monotonic 時間を利用するように変更する. パケット層で,
   クロックのステップに対するよりより扱いが可能となり, ステップ間での
   潜在的な整数オーバーフローを回避する.

 * Numerous manual page fixes and improvements.

   たくさんのマニュアルページの修正と改善.


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

移植性

 * sshd(8): Correctly detect MIPS ABI in use at configure time. Fixes
   sandbox violations on some environments.

   sshd(8): configure 時に MIPS API が利用できるか正しく検知する.
   いくつかの環境でサンドボックスの破壊を修正する.

 * sshd(8): Remove UNICOS support. The hardware and software are literal
   museum pieces and support in sshd is too intrusive to justify
   maintaining.

   sshd(8): UNICOS サポートを除去する.  ハードウェアもソフトウェアも文字通りの
   博物館もので, sshd でのサポートで保守を正当化するには邪魔ものすぎる

 * All: Build and link with "retpoline" flags when available to mitigate
   the "branch target injection" style (variant 2) of the Spectre
   branch-prediction vulnerability.

   すべて: Spectre 分岐予測脆弱性の "branch target injection" スタイル(variant 2) を緩和する
   ことができる, retpoline フラグ付きでのビルドとリンク.

 * All: Add auto-generated dependency information to Makefile.

   すべて: Makefile に自動生成された依存情報を追加する.

 * Numerous fixed to the RPM spec files.

   RPM spec ファイルを沢山修正した.

OpenSSH 7.6 がリリースされました

4 Oct, 2017 - 8 minutes

2017/10/04, OpenSSH 7.6 がリリースされました.

バグ修正が中心のリリースです.

https://www.openssh.com/txt/release-7.6

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響するかもしれない多くの変更を含む.

 * ssh(1): delete SSH protocol version 1 support, associated
   configuration options and documentation.

   ssh(1): SSH プロトコルバージョン1のサポートと関連する
   設定項目や文書を削除する.

 * ssh(1)/sshd(8): remove support for the hmac-ripemd160 MAC.

   ssh(1)/sshd(8): hmac-ripemd160 MAC のサポートを削除する.

 * ssh(1)/sshd(8): remove support for the arcfour, blowfish and CAST
   ciphers.

   ssh(1)/sshd(8): arcfour と blowfish, CAST 暗号のサポートを削除する.

 * Refuse RSA keys <1024 bits in length and improve reporting for keys
   that do not meet this requirement.

   1024 ビット未満の RSA 鍵を拒否する. また, この必要条件を満さない鍵
   についての報告を改善する.

 * ssh(1): do not offer CBC ciphers by default.

   ssh(1): CBC 暗号モードを用いる暗号をデフォルトでは提供しない.

Changes since OpenSSH 7.5
=========================

OpenSSH 7.5 からの変更点.

This is primarily a bugfix release. It also contains substantial
internal refactoring.

主にバグ修正のリリースだ. また, 相当な量の内部リファクタリングも含む.

Security
--------

セキュリティ

 * sftp-server(8): in read-only mode, sftp-server was incorrectly
   permitting creation of zero-length files. Reported by Michal
   Zalewski.

   sftp-server(8): リードオンリーモードで, sftp-server は, 間違って
   長さ0のファイルの作成を許可していた. Michal Zalewski により報告された.

New Features
------------

新機能

 * ssh(1): add RemoteCommand option to specify a command in the ssh
   config file instead of giving it on the client's command line. This
   allows the configuration file to specify the command that will be
   executed on the remote host.

   ssh(1): クライアントのコマンドラインから与えられたものに変わって
   ssh 設定ファイルでコマンドを指定する RemoteCommand 設定項目を追加する.
   リモートホストで実行されるコマンドを設定ファイルで指定できる.

 * sshd(8): add ExposeAuthInfo option that enables writing details of
   the authentication methods used (including public keys where
   applicable) to a file that is exposed via a $SSH_USER_AUTH
   environment variable in the subsequent session.

   sshd(8): 
   次のセッションで SSH_USER_AUTH 環境変数により露出されるファイルへ
   利用される認証法(利用可能な場合は公開鍵も含む)の詳細を書き込む
   のを可能にする ExposeAuthInfo 設定項目を追加する.

 * ssh(1): add support for reverse dynamic forwarding. In this mode,
   ssh will act as a SOCKS4/5 proxy and forward connections
   to destinations requested by the remote SOCKS client. This mode
   is requested using extended syntax for the -R and RemoteForward
   options and, because it is implemented solely at the client,
   does not require the server be updated to be supported.

   ssh(1): リバースダイナミック転送のサポートを追加する. このモードでは,
   ssh は SOCKS4/5 プロキシとして振舞い, リモートの SOCKS クライアントから
   要求された目的地に接続を転送する. このモードは, -R オプションや 
   RemoteForward 設定項目の拡張されたシンタックスを用いて要求される.
   これは クライアントのみに実装されているので, サポートのために
   サーバを更新する必要はない.

 * sshd(8): allow LogLevel directive in sshd_config Match blocks;
   bz#2717

   sshd(8): sshd_config の Match ブロックで LogLevel 設定項目を
   有効にする. bz#2717

 * ssh-keygen(1): allow inclusion of arbitrary string or flag
   certificate extensions and critical options.

   ssh-keygen(1): 任意の文字やフラグ証明書拡張や重要なオプションを
   含められるようにする.

 * ssh-keygen(1): allow ssh-keygen to use a key held in ssh-agent as
   a CA when signing certificates. bz#2377

   ssh-keygen(1): 証明書の署名時に, ssh-agent が保持する鍵を
   CA として ssh-keygen が利用できるようにする. bz#2377

 * ssh(1)/sshd(8): allow IPQoS=none in ssh/sshd to not set an explicit
   ToS/DSCP value and just use the operating system default.

   ssh(1)/sshd(8): 明示的な ToS/DSCP の値を設定せず OS のデフォルトを利用する
   ssh/sshd で IPQoS=none を可能にする.

 * ssh-add(1): added -q option to make ssh-add quiet on success.

   ssh-add(1): ssh-add が成功時にメッセージを出さないようにする
   -q オプションを追加した.

 * ssh(1): expand the StrictHostKeyChecking option with two new
   settings. The first "accept-new" will automatically accept
   hitherto-unseen keys but will refuse connections for changed or
   invalid hostkeys. This is a safer subset of the current behaviour
   of StrictHostKeyChecking=no. The second setting "off", is a synonym
   for the current behaviour of StrictHostKeyChecking=no: accept new
   host keys, and continue connection for hosts with incorrect
   hostkeys. A future release will change the meaning of
   StrictHostKeyChecking=no to the behaviour of "accept-new". bz#2400

   ssh(1): StrictHostKeyChecking 設定項目に 2 つの新しい設定を拡張する.
   最初は "accept-new" 設定で, 自動的にまだ知らないホスト鍵を受け付けるが,
   変更したり不正なホスト鍵では接続を拒否する. これは, StrictHostKeyChecking=no の
   現在の振舞いのより安全なサブセットだ. 2 つ目は "off" で, StrictHostKeyChecking=no
   の現在の振舞いの同意語だ: まだ知らないホスト鍵を受け付け, 一致しなかったり
   変更されたホスト鍵を持つホストへの接続を続行する. 将来のリリースでは,
   StrictHostKeyChecking=no の意味を "accept-new" の振舞いに変更する予定だ.
   bz#2400

 * ssh(1): add SyslogFacility option to ssh(1) matching the equivalent
   option in sshd(8). bz#2705

   ssh(1): sshd(8) にある SyslogFacility 設定項目と同じものを ssh(1)
   にも追加する. bz#2705

Bugfixes
--------

バグ修正

 * ssh(1): use HostKeyAlias if specified instead of hostname for
   matching host certificate principal names; bz#2728

   ssh(1): HostKeyAlias が指定されていたら ホスト名や証明書の
   プリンシパル名の一致に HostKeyAlias を利用する; bz#2728

 * sftp(1): implement sorting for globbed ls; bz#2649

   sftp(1): glob された (* を用いた) ls のソートを実装する; bz#2649

 * ssh(1): add a user@host prefix to client's "Permisison denied"
   messages, useful in particular when using "stacked" connections
   (e.g. ssh -J) where it's not clear which host is denying. bz#2720

   ssh(1): クライアントの "Permission denied" メッセージに 
   user@host 接頭辞を追加する. "積み重ねた" 接続を用いる場合に
   (たとえば ssh -J) どのホストで拒否されたのかわかりにくかった場合に
   特に便利になる.

 * ssh(1): accept unknown EXT_INFO extension values that contain \0
   characters. These are legal, but would previously cause fatal
   connection errors if received.

   ssh(1): \0 文字を含む 不明な EXT_INFO 拡張の値を受けつける.
   これは 正当だが, 以前はこれを受け取ると致命的な接続エラーを
   起こすことがあった.

 * ssh(1)/sshd(8): repair compression statistics printed at
   connection exit

   ssh(1)/sshd(8): 接続終了時に印字される圧縮の統計を修復する.

 * sftp(1): print '?' instead of incorrect link count (that the
   protocol doesn't provide) for remote listings. bz#2710

   sftp(1): リモートのリスト表示で (プロトコルが提供してない) 不正な
   リンクカウントの代わりに '?' を印字する.

 * ssh(1): return failure rather than fatal() for more cases during
   session multiplexing negotiations. Causes the session to fall back
   to a non-mux connection if they occur. bz#2707

   ssh(1): セッションの多重化の交渉時の多くの場合で fatal() よりも失敗を
   返す. これらが起きた場合に 多重化していない接続にセッションをフォールバック
   できる. bz#2707

 * ssh(1): mention that the server may send debug messages to explain
   public key authentication problems under some circumstances; bz#2709

   ssh(1): 特定の状況下での公開鍵認証の問題を説明するため, サーバが
   デバッグメッセージを送ってくる場合があることをマニュアルで言及する; bz#2709

 * Translate OpenSSL error codes to better report incorrect passphrase
   errors when loading private keys; bz#2699

   秘密鍵のロードで不正なパスフレーズのエラーの報告を改善するために,
   OpenSSL のエラーコードを翻訳する; bz#2699

 * sshd(8): adjust compatibility patterns for WinSCP to correctly
   identify versions that implement only the legacy DH group exchange
   scheme. bz#2748

   sshd(8): レガシーな DH 群交換方式のみを実装しているバージョンを正しく指定して
   WinSCP との互換性パターンを調整する. 

 * ssh(1): print the "Killed by signal 1" message only at LogLevel
   verbose so that it is not shown at the default level; prevents it
   from appearing during ssh -J and equivalent ProxyCommand configs.
   bz#1906, bz#2744

   ssh(1): LogLevel が verbose の場合にのみ "Killed by signal 1" メッセージを
   印字する. デフォルトのレベルでは印字しない; ssh _J や同等のプロキシ設定で
   現れるのを防ぐ. bz#1906, bz#2744

 * ssh-keygen(1): when generating all hostkeys (ssh-keygen -A), clobber
   existing keys if they exist but are zero length. zero-length keys
   could previously be made if ssh-keygen failed or was interrupted part
   way through generating them. bz#2561

   ssh-keygen(1): すべてのホスト鍵を (ssh-keygen -A で) 作成する際,
   既存の鍵が存在するが長さ 0 の場合, 既存の鍵を上書きする.
   ssh-keygen が失敗したか鍵の生成時の途中で中断された場合に
   長さ 0 の鍵は以前作られた可能性がある.

 * ssh(1): fix pledge(2) violation in the escape sequence "~&" used to
   place the current session in the background.

   ssh(1): バックグラウンドに現在のセッションを移すのに用いられる "~&"
   エスケープシーケンスでの pledge(2) 違反を修正する.

 * ssh-keyscan(1): avoid double-close() on file descriptors; bz#2734

   ssh-keyscan(1): ファイルディスクリプタの2重 close を回避する; bz#2734

 * sshd(8): avoid reliance on shared use of pointers shared between
   monitor and child sshd processes. bz#2704

   sshd(8): (特権分離での) モニターと子供の sshd プロセス間での
   ポインタの共同利用への依存を回避する.

 * sshd_config(8): document available AuthenticationMethods; bz#2453

   sshd_config(8): AuthenticationMethods 設定項目で利用可能な値について記述する; bz#2453

 * ssh(1): avoid truncation in some login prompts; bz#2768

   ssh(1): いくつかのログインプロンプトでの表示の切り詰めを回避する; bz#2768

 * sshd(8): Fix various compilations failures, inc bz#2767

   sshd(8): bz#2767 を含むいくつかのコンパイルエラーを修正する

 * ssh(1): make "--" before the hostname terminate argument processing
   after the hostname too.

   ssh(1): ホスト名の前の引数処理を終端する "--" を ホスト名の後でも
   利用可能にする.

 * ssh-keygen(1): switch from aes256-cbc to aes256-ctr for encrypting
   new-style private keys. Fixes problems related to private key
   handling for no-OpenSSL builds. bz#2754

   ssh-keygen(1): 新しい鍵の暗号化に利用する暗号を 
   aes256-cbc から aes256-ctr に変更する. OpenSSL を利用しないビルドでの
   秘密鍵に関する問題を修正する.

 * ssh(1): warn and do not attempt to use keys when the public and
   private halves do not match. bz#2737

   ssh(1): 公開鍵と秘密鍵が一致しない鍵を警告し利用を試みない. bz#2737

 * sftp(1): don't print verbose error message when ssh disconnects
   from under sftp. bz#2750

   sftp(1): sftp で利用している ssh の接続が切断された場合に
   冗長なエラーメッセージを表示しない. bz#2750

 * sshd(8): fix keepalive scheduling problem: activity on a forwarded
   port from preventing the keepalive from being sent; bz#2756

   sshd(8): keepalive のスケジューリングの問題を修正する:
   転送されたポートの行動がkeepalive の送信を妨げる

 * sshd(8): when started without root privileges, don't require the
   privilege separation user or path to exist. Makes running the
   regression tests easier without touching the filesystem.

   sshd(8): root 特権なしで起動した場合に, 特権分離のユーザやパスの
   存在を要求しない. filesystem に触れずに 回帰テストを実行するのが
   容易になる.

 * Make integrity.sh regression tests more robust against timeouts.
   bz#2658

   integrity.sh 回帰テストをタイムアウトに対してより堅牢にする.
   bz#2658

 * ssh(1)/sshd(8): correctness fix for channels implementation: accept
   channel IDs greater than 0x7FFFFFFF.

   ssh(1)/sshd(8): チャンネルの実装での接続の修正: 0x7FFFFFFF を超える
   チャンネル ID を受け入れる.

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

移植性

 * sshd(9): drop two more privileges in the Solaris sandbox:
   PRIV_DAX_ACCESS and PRIV_SYS_IB_INFO; bz#2723

   sshd(8, 原文はおそらくミス): Solaris サンドボックスで 2つの特権を
   無効にする: PRIV_DAX_ACCESS と PRIV_SYS_IB_INFO; bz#2723

 * sshd(8): expose list of completed authentication methods to PAM
   via the SSH_AUTH_INFO_0 PAM environment variable. bz#2408

   sshd(8): SSH_AUTH_INFO_0 PAM 環境変数により 完了した認証法のリストを
   PAM に開示する. bz#2408

 * ssh(1)/sshd(8): fix several problems in the tun/tap forwarding code,
   mostly to do with host/network byte order confusion. bz#2735

   ssh(1)/sshd(8): tun/tap 転送コードのいくつかの問題を修正する.
   主に host/network のバイトオーダーの混乱に対処する.

 * Add --with-cflags-after and --with-ldflags-after configure flags to
   allow setting CFLAGS/LDFLAGS after configure has completed. These
   are useful for setting sanitiser/fuzzing options that may interfere
   with configure's operation.

   configure に --with-cflags-after と --with-ldflags-after フラグを追加する.
   configure が完了したあとで CFLAGS/LDFLAGS を設定する.
   configure の操作に干渉する可能性のある サイタイザやファジングのオプションを設定
   するのに役立つ.

 * sshd(8): avoid Linux seccomp violations on ppc64le over the
   socketcall syscall.

   sshd(8): socketcall システムコールでの ppc64le 上の Linux seccomp 違反を
   回避する.

 * Fix use of ldns when using ldns-config; bz#2697

   ldns-config を用いる際の ldns の利用を修正する; bz#2697

 * configure: set cache variables when cross-compiling. The cross-
   compiling fallback message was saying it assumed the test passed,
   but it wasn't actually set the cache variables and this would
   cause later tests to fail.

   configure: クロスコンパイル時にキャッシュ変数を設定する. クロスコンパイルの
   フォールバックメッセージはテストが通過したと仮定していたが, キャッシュ変数を
   実際に設定していなければ後のテストで失敗する場合がある.

 * Add clang libFuzzer harnesses for public key parsing and signature
   verification.

   公開鍵のパースと署名の検証で clang の libFuzzer ハーネスを追加する

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

21 Sep, 2017 - 7 minutes

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

Call for testing: OpenSSH 7.6

主にバグ修正のリリースです.

# Call for testing: OpenSSH 7.6 - https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-September/036212.html

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

潜在的に非互換な変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響するかもしれない多くの変更を含む.

 * ssh(1): delete SSH protocol version 1 support, associated
   configuration options and documentation.

   ssh(1): SSH プロトコルバージョン1のサポートと関連する
   設定項目や文書を削除する.

 * ssh(1)/sshd(8): remove support for the hmac-ripemd160 MAC.

   ssh(1)/sshd(8): hmac-ripemd160 MAC のサポートを削除する.

 * ssh(1)/sshd(8): remove support the arcfour, blowfish and CAST
   ciphers.

   ssh(1)/sshd(8): arcfour と blowfish, CAST 暗号のサポートを削除する.

 * Refuse RSA keys <1024 bits in length and improve reporting for keys
   that do not meet this requirement.

   1024 ビット未満の RSA 鍵を拒否する. また, この必要条件を満さない鍵
   についての報告を改善する.

 * ssh(1): do not offer CBC ciphers by default.

   ssh(1): CBC 暗号モードを用いる暗号をデフォルトでは提供しない.

Changes since OpenSSH 7.5
=========================

OpenSSH 7.5 からの変更点.

This is primarily a bugfix release. It also contains substantial
internal refactoring.

主にバグ修正のリリースだ. また, 相当な量の内部リファクタリングも含む.

New Features
------------

新機能

 * ssh(1): add RemoteCommand option to specify a command in the ssh
   config file instead of giving it on the client's command line. This
   allows the configuration file to specify the command that will be
   executed on the remote host.

   ssh(1): クライアントのコマンドラインから与えられたものに変わって
   ssh 設定ファイルでコマンドを指定する RemoteCommand 設定項目を追加する.
   リモートホストで実行されるコマンドを設定ファイルで指定できる.

 * sshd(8): add ExposeAuthInfo option that enables writing details of
   the authentication methods used (including public keys where
   applicable) to a file that is exposed via a $SSH_USER_AUTH
   environment variable in the subsequent session.

   sshd(8): 
   次のセッションで SSH_USER_AUTH 環境変数により露出されるファイルへ
   利用される認証法(利用可能な場合は公開鍵も含む)の詳細を書き込む
   のを可能にする ExposeAuthInfo 設定項目を追加する.

 * sshd(8): allow LogLevel directive in sshd_config Match blocks;
   bz#2717

   sshd(8): sshd_config の Match ブロックで LogLevel 設定項目を
   有効にする. bz#2717

 * ssh-keygen(1): allow inclusion of arbitrary string or flag
   certificate extensions and critical options.

   ssh-keygen(1): 任意の文字やフラグ証明書拡張や重要なオプションを
   含められるようにする.

 * ssh-keygen(1): allow ssh-keygen to use a key held in ssh-agent as
   a CA when signing certificates. bz#2377

   ssh-keygen(1): 証明書の署名時に, ssh-agent が保持する鍵を
   CA として ssh-keygen が利用できるようにする. bz#2377

 * ssh(1)/sshd(8): allow IPQoS=none in ssh/sshd to not set an explicit
   ToS/DSCP value and just use the operating system default.

   ssh(1)/sshd(8): 明示的な ToS/DSCP の値を設定せず OS のデフォルトを利用する
   ssh/sshd で IPQoS=none を可能にする.

 * ssh-add(1): added -q option to make ssh-add quiet on success.

   ssh-add(1): ssh-add が成功時にメッセージを出さないようにする
   -q オプションを追加した.

 * ssh(1): expand the StrictModes option with two new settings. The
   first "accept-new" will automatically accept hitherto-unseen keys
   but will refuse connections for changed or invalid hostkeys. This
   is a safer subset of the current behaviour of StrictModes=no. The
   second setting "off", is a synonym for the current behaviour of
   StrictModes=no: accept hitherto-unseen keys, and continue connection
   for hosts with mismatched/changed hostkeys. A future release will
   change the meaning of StrictModes=no to the behaviour of
   "accept-new". bz#2400

   ssh(1): StrictModes 設定項目に 2 つの新しい設定を拡張する.
   最初は "accept-new" 設定で, 自動的にまだ知らないホスト鍵を受け付けるが,
   変更したり不正なホスト鍵では接続を拒否する. これは, StrictModes=no の
   現在の振舞いのより安全なサブセットだ. 2 つ目は "off" で, StrictModes=no
   の現在の振舞いの同意語だ: まだ知らないホスト鍵を受け付け, 一致しなかったり
   変更されたホスト鍵を持つホストへの接続を続行する. 将来のリリースでは,
   StrictModes=no の意味を "accept-new" の振舞いに変更する予定だ.
   bz#2400

 * ssh(1): add SyslogFacility option to ssh(1) matching the equivalent
   option in sshd(8). bz#2705

   ssh(1): sshd(8) にある SyslogFacility 設定項目と同じものを ssh(1)
   にも追加する. bz#2705

Bugfixes
--------

バグ修正

 * ssh(1): use HostKeyAlias if specified instead of hostname for
   matching host certificate principal names; bz#2728

   ssh(1): HostKeyAlias が指定されていたら ホスト名や証明書の
   プリンシパル名の一致に HostKeyAlias を利用する; bz#2728

 * sftp(1): implement sorting for globbed ls; bz#2649

   sftp(1): glob された (* を用いた) ls のソートを実装する; bz#2649

 * ssh(1): add a user@host prefix to client's "Permisison denied"
   messages, useful in particular when using "stacked" connections
   (e.g. ssh -J) where it's not clear which host is denying. bz#2720

   ssh(1): クライアントの "Permission denied" メッセージに 
   user@host 接頭辞を追加する. "積み重ねた" 接続を用いる場合に
   (たとえば ssh -J) どのホストで拒否されたのかわかりにくかった場合に
   特に便利になる.

 * ssh(1): accept unknown EXT_INFO extension values that contain \0
   characters. This is legal, but would previously cause fatal
   connection errors if received.

   ssh(1): \0 文字を含む 不明な EXT_INFO 拡張の値を受けつける.
   これは 正当だが, 以前はこれを受け取ると致命的な接続エラーを
   起こすことがあった.

 * ssh(1)/sshd(8): repair compression statistics printed at
   connection exit

   ssh(1)/sshd(8): 接続終了時に印字される圧縮の統計を修復する.

 * sftp(1): print '?' instead of incorrect link count (that the
   protocol doesn't provide) for remote listings. bz#2710

   sftp(1): リモートのリスト表示で (プロトコルが提供してない) 不正な
   リンクカウントの代わりに '?' を印字する.

 * ssh(1): return failure rather than fatal() for more cases during
   session multiplexing negotiations. Causes the session to fall back
   to a non-mux connection if they occur. bz#2707

   ssh(1): セッションの多重化の交渉時の多くの場合で fatal() よりも失敗を
   返す. これらが起きた場合に 多重化していない接続にセッションをフォールバック
   できる. bz#2707

 * ssh(1): mention that the server may send debug messages to explain
   public key authentication problems under some circumstances; bz#2709

   ssh(1): 特定の状況下での公開鍵認証の問題を説明するため, サーバが
   デバッグメッセージを送ってくる場合があることをマニュアルで言及する; bz#2709

 * Translate OpenSSL error codes to better report incorrect passphrase
   errors when loading private keys; bz#2699

   秘密鍵のロードで不正なパスフレーズのエラーの報告を改善するために,
   OpenSSL のエラーコードを翻訳する; bz#2699

 * sshd(8): adjust compatibility patterns for WinSCP to correctly
   identify versions that implement only the legacy DH group exchange
   scheme. bz#2748

   sshd(8): レガシーな DH 群交換方式のみを実装しているバージョンを正しく指定して
   WinSCP との互換性パターンを調整する. 

 * ssh(1): print the "Killed by signal 1" message only at LogLevel
   verbose so that it is not shown at the default level; prevents it
   from appearing during ssh -J and equivalent ProxyCommand configs.
   bz#1906, bz#2744

   ssh(1): LogLevel が verbose の場合にのみ "Killed by signal 1" メッセージを
   印字する. デフォルトのレベルでは印字しない; ssh _J や同等のプロキシ設定で
   現れるのを防ぐ. bz#1906, bz#2744

 * ssh-keygen(1): when generating all hostkeys (ssh-keygen -A), clobber
   existing keys if they exist but are zero length. zero-length keys
   could previously be made if ssh-keygen failed or was interrupted part
   way through generating them. bz#2561

   ssh-keygen(1): すべてのホスト鍵を (ssh-keygen -A で) 作成する際,
   既存の鍵が存在するが長さ 0 の場合, 既存の鍵を上書きする.
   ssh-keygen が失敗したか鍵の生成時の途中で中断された場合に
   長さ 0 の鍵は以前作られた可能性がある.

 * ssh(1): fix pledge(2) violation in the escape sequence "~&" used to
   place the current session in the background.

   ssh(1): バックグラウンドに現在のセッションを移すのに用いられる "~&"
   エスケープシーケンスでの pledge(2) 違反を修正する.

 * ssh-keyscan(1): avoid double-close() on file descriptors; bz#2734

   ssh-keyscan(1): ファイルディスクリプタの2重 close を回避する; bz#2734

 * sshd(8): avoid reliance on shared use of pointers shared between
   monitor and child sshd processes. bz#2704

   sshd(8): (特権分離での) モニターと子供の sshd プロセス間での
   ポインタの共同利用への依存を回避する.

 * sshd_config(8): document available AuthenticationMethods; bz#2453

   sshd_config(8): AuthenticationMethods 設定項目で利用可能な値について記述する; bz#2453

 * ssh(1): avoid truncation in some login prompts; bz#2768

   ssh(1): いくつかのログインプロンプトでの表示の切り詰めを回避する; bz#2768

 * sshd(8): Fix various compilations failures, inc bz#2767

   sshd(8): bz#2767 を含むいくつかのコンパイルエラーを修正する

 * ssh(1): make "--" before the hostname terminate argument processing
   after the hostname too.

   ssh(1): ホスト名の前の引数処理を終端する "--" を ホスト名の後でも
   利用可能にする.

 * ssh-keygen(1): switch from aes256-cbc to aes256-ctr for encrypting
   new-style private keys. Fixes problems related to private key
   handling for no-OpenSSL builds. bz#2754

   ssh-keygen(1): 新しい鍵の暗号化に利用する暗号を 
   aes256-cbc から aes256-ctr に変更する. OpenSSL を利用しないビルドでの
   秘密鍵に関する問題を修正する.

 * ssh(1): warn and do not attempt to use keys when the public and
   private halves do not match. bz#2737

   ssh(1): 公開鍵と秘密鍵が一致しない鍵を警告し利用を試みない. bz#2737

 * sftp(1): don't print verbose error message when ssh disconnects
   from under sftp. bz#2750

   sftp(1): sftp で利用している ssh の接続が切断された場合に
   冗長なエラーメッセージを表示しない. bz#2750

 * sshd(8): fix keepalive scheduling problem: activity on a forwarded
   port from preventing the keepalive from being sent; bz#2756

   sshd(8): keepalive のスケジューリングの問題を修正する:
   転送されたポートの行動がkeepalive の送信を妨げる

 * sshd(8): when started without root privileges, don't require the
   privilege separation user or path to exist. Makes running the
   regression tests easier without touching the filesystem.

   sshd(8): root 特権なしで起動した場合に, 特権分離のユーザやパスの
   存在を要求しない. filesystem に触れずに 回帰テストを実行するのが
   容易になる.

 * Make integrity.sh regression tests more robust against timeouts.
   bz#2658

   integrity.sh 回帰テストをタイムアウトに対してより堅牢にする.
   bz#2658

 * ssh(1)/sshd(8): correctness fix for channels implementation: accept
   channel IDs greater than 0x7FFFFFFF.

   ssh(1)/sshd(8): チャンネルの実装での接続の修正: 0x7FFFFFFF を超える
   チャンネル ID を受け入れる.

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

移植性

 * sshd(9): drop two more privileges in the Solaris sandbox:
   PRIV_DAX_ACCESS and PRIV_SYS_IB_INFO; bz#2723

   sshd(8, 原文はおそらくミス): Solaris サンドボックスで 2つの特権を
   無効にする: PRIV_DAX_ACCESS と PRIV_SYS_IB_INFO; bz#2723

 * sshd(8): expose list of completed authentication methods to PAM
   via the SSH_AUTH_INFO_0 PAM environment variable. bz#2408

   sshd(8): SSH_AUTH_INFO_0 PAM 環境変数により 完了した認証法のリストを
   PAM に開示する. bz#2408

 * ssh(1)/sshd(8): fix several problems in the tun/tap forwarding code,
   mostly to do with host/network byte order confusion. bz#2735

   ssh(1)/sshd(8): tun/tap 転送コードのいくつかの問題を修正する.
   主に host/network のバイトオーダーの混乱に対処する.

 * Add --with-cflags-after and --with-ldflags-after configure flags to
   allow setting CFLAGS/LDFLAGS after configure has completed. These
   are useful for setting santiser/fuzzing options that may interfere
   with configure's operation.

   configure に --with-cflags-after と --with-ldflags-after フラグを追加する.
   configure が完了したあとで CFLAGS/LDFLAGS を設定する.
   configure の操作に干渉する可能性のある サイタイザやファジングのオプションを設定
   するのに役立つ.

 * sshd(8): avoid Linux seccomp violations on ppc64le over the
   socketcall syscall.

   sshd(8): socketcall システムコールでの ppc64le 上の Linux seccomp 違反を
   回避する.

 * Fix use of ldns when using ldns-config; bz#2697

   ldns-config を用いる際の ldns の利用を修正する; bz#2697

 * configure: set cache variables when cross-compiling. The cross-
   compiling fallback message was saying it assumed the test passed,
   but it wasn't actually set the cache variables and this would
   cause later tests to fail.

   configure: クロスコンパイル時にキャッシュ変数を設定する. クロスコンパイルの
   フォールバックメッセージはテストが通過したと仮定していたが, キャッシュ変数を
   実際に設定していなければ後のテストで失敗する場合がある.

 * Add clang libFuzzer harnesses for public key parsing and signature
   verification.

   公開鍵のパースと署名の検証で clang の libFuzzer ハーネスを追加する

OpenSSH 7.5 がリリースされました

20 Mar, 2017 - 8 minutes

2017/03/20, OpenSSH 7.5 がリリースされました.

バグ修正が中心のリリースです.

https://www.openssh.com/txt/release-7.5

Future deprecation notice
=========================

将来廃止される機能の告知

We plan on retiring more legacy cryptography in future releases,
specifically:

将来のリリースでさらなるレガシーな暗号を廃止することを計画している.
具体的には:

 * In the next major release (expected June-August), removing remaining
   support for the SSH v.1 protocol (currently client-only and compile-
   time disabled).

   (6-8月に予定している) 次のメジャーリリースで, SSH v.1 プロトコルの
   残っているサポートを削除する(現在クライアントのみでコンパイル時に無効
   となっている).

 * In the same release, removing support for Blowfish and RC4 ciphers
   and the RIPE-MD160 HMAC. (These are currently run-time disabled).

   同じリリースで, Blowfish と RC4 暗号, RIPE-MD160 HMAC のサポートを
   削除する. (現在実行時に無効となっている).

 * In the same release, removing the remaining CBC ciphers from being
   offered by default in the client (These have not been offered in
   sshd by default for several years).

   同じリリースで, クライアントがデフォルトで提供する暗号リストに
   残っている CBC 暗号を削除する (この年サーバからは提供していない).

 * Refusing all RSA keys smaller than 1024 bits (the current minimum
   is 768 bits)

   1024 bit よりも小さい RSA 鍵を拒否する (現在の最小は 768 bit)

This list reflects our current intentions, but please check the final
release notes for future releases.

このリストは我々の現在の意図を反映している. ただし, 将来のリリースでの
最終的なリリースノートをチェックしてほしい.

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

非互換な可能性のある変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響する変更がいくつかある.

 * This release deprecates the sshd_config UsePrivilegeSeparation
   option, thereby making privilege separation mandatory. Privilege
   separation has been on by default for almost 15 years and
   sandboxing has been on by default for almost the last five.

   このリリースは sshd_config の UsePrivilegeSeparation 設定項目を
   非推奨する. これにより, 特権分離は必須となる. 特権分離は,
   約 15年ほどデフォルトとなっており, 最近5年間はデフォルトで
   サンドボックス化されている.

 * The format of several log messages emitted by the packet code has
   changed to include additional information about the user and
   their authentication state. Software that monitors ssh/sshd logs
   may need to account for these changes. For example:

   パケットコードから出力されるいくつかのログメッセージの形式を変更する.
   ユーザとその認証の状態についての追加情報を含むようになる.
   ssh/sshd のログをモニターするソフトウェアは, これらの変更に注意する
   必要があるだろう. 例:

   Connection closed by user x 1.1.1.1 port 1234 [preauth]
   Connection closed by authenticating user x 10.1.1.1 port 1234 [preauth]
   Connection closed by invalid user x 1.1.1.1 port 1234 [preauth]

   Affected messages include connection closure, timeout, remote
   disconnection, negotiation failure and some other fatal messages
   generated by the packet code.

   影響するメッセージには, 接続の終了, タイムアウト, リモートの切断,
   (暗号などの)交渉の失敗, さらにパケットコードから生成される
   その他のいくつかの致命的なメッセージが含まれる.

 * [Portable OpenSSH only] This version removes support for building
   against OpenSSL versions prior to 1.0.1. OpenSSL stopped supporting
   versions prior to 1.0.1 over 12 months ago (i.e. they no longer
   receive fixes for security bugs).

   [移植版 OpenSSH のみ] このバージョンで, OpenSSL 1.0.1 より前のバージョン
   に対するビルドのサポートをなくす. OpenSSL は 1.0.1 より前のバージョンの
   サポートを12ヶ月前にやめている (つまり, セキュリティのバグに対する修正を
   もはや OpenSSL は受けつけていない).

Changes since OpenSSH 7.4
=========================

OpenSSH 7.4 からの変更

This is a bugfix release.

これはバグ修正のリリースだ.

Security
--------

セキュリティ

 * ssh(1), sshd(8): Fix weakness in CBC padding oracle countermeasures
   that allowed a variant of the attack fixed in OpenSSH 7.3 to proceed.
   Note that the OpenSSH client disables CBC ciphers by default, sshd
   offers them as lowest-preference options and will remove them by
   default entriely in the next release. Reported by Jean Paul
   Degabriele, Kenny Paterson, Martin Albrecht and Torben Hansen of
   Royal Holloway, University of London.

   ssh(1), sshd(8): OpenSSH 7.3 で修正された攻撃の亜種が有効だった
   CBC パディングオラクル対抗策の弱点を修正する. OpenSSH クライアントは
   CBC 暗号モードを用いる暗号をデフォルトで無効にしていて, sshd は
   CBC 暗号モードを用いる暗号を 最低の優先順位で提供していて次のリリースで
   デフォルトでは完全に除く予定であることに注意. ロンドン大学
   Royal Holloway の Jean Paul Degabriele と Kenny Paterson,
   Martin Albrecht, Torben Hansen によって報告された.

 * sftp-client(1): [portable OpenSSH only] On Cygwin, a client making
   a recursive file transfer could be maniuplated by a hostile server to
   perform a path-traversal attack. creating or modifying files outside
   of the intended target directory. Reported by Jann Horn of Google
   Project Zero.

   sftp-client(1): [移植版 OpenSSH のみ] Cygwin で, ファイル転送を受け取る
   クライアントが パストラバーサル攻撃を実行する悪意のあるサーバに操作
   されうる. 対象のディレクトリに外部からファイルを作成されたり変更されたり
   する. Google Project Zero の Jann Horn によって報告された.

New Features
------------

 * ssh(1), sshd(8): Support "=-" syntax to easily remove methods from
   algorithm lists, e.g. Ciphers=-*cbc. bz#2671

   ssh(1), sshd(8): アルゴリズムのリストから方式を簡単の除くことができる
   "=-" 構文をサポートする. たとえば Ciphers=-*cbc のように用いる. bz#2671

Bugfixes
--------

 * sshd(1): Fix NULL dereference crash when key exchange start
   messages are sent out of sequence.

   sshd(1): 鍵交換開始がシーケンス外で送られた場合のNULL 参照展開
   クラッシュを修正する.

 * ssh(1), sshd(8): Allow form-feed characters to appear in
   configuration files.

   ssh(1), sshd(8): 設定ファイルに表われる フォームフィード文字(0x0C)
   を許容する.

 * sshd(8): Fix regression in OpenSSH 7.4 support for the
   server-sig-algs extension, where SHA2 RSA signature methods were
   not being correctly advertised. bz#2680

   sshd(8): server-sig-algs 拡張に対する OpenSSH 7.4 のサポートでの
   不具合を修正する. SHA2 RSA 署名法が正常に通知されていなかった.
   bz#2680

 * ssh(1), ssh-keygen(1): Fix a number of case-sensitivity bugs in
   known_hosts processing. bz#2591 bz#2685

   ssh(1), ssh-keygen(1): known_hosts 処理での多数の大文字小文字に
   関するバグを修正する. bz#2591 bz#2685

 * ssh(1): Allow ssh to use certificates accompanied by a private key
   file but no corresponding plain *.pub public key. bz#2617

   ssh(1): 関係のないプレーンな *.pub 公開鍵ではなく
   秘密鍵ファイルに付随する証明書を ssh が利用する. bz#2617

 * ssh(1): When updating hostkeys using the UpdateHostKeys option,
   accept RSA keys if HostkeyAlgorithms contains any RSA keytype.
   Previously, ssh could ignore RSA keys when only the ssh-rsa-sha2-*
   methods were enabled in HostkeyAlgorithms and not the old ssh-rsa
   method. bz#2650

   ssh(1): UpdateHostKeys 設定項目で ホスト鍵を更新する際,
   HostkeyAlgorithms が RSA 鍵タイプの1つでもサポートしていたら
   RSA 鍵を受け入れる. 以前は, HostkeyAlgorithm で ssh-rsa-sha2-*
   が有効な場合に ssh は RSA 鍵を無視し, より古い ssh-rsa が有効な
   場合は無視しなかった. bz#2650

 * ssh(1): Detect and report excessively long configuration file
   lines. bz#2651

   ssh(1): 過剰に長い設定ファイルの行を検出しレポートする. bz#2651

 * Merge a number of fixes found by Coverity and reported via Redhat
   and FreeBSD. Includes fixes for some memory and file descriptor
   leaks in error paths. bz#2687

   Coverity よって見付けられたり, Redhat や FreeBSD で報告された
   多数の修正をマージする. 異常刑でのメモリやファイルデスクリプタの
   いくつかの漏洩の修正が含まれている. bz#2687

 * ssh-keyscan(1): Correctly hash hosts with a port number. bz#2692

   ssh-keyscan(1): ポート番号付きのホストのハッシュが正しく動くようにする.
   bz#2692

 * ssh(1), sshd(8): When logging long messages to stderr, don't truncate
   "\r\n" if the length of the message exceeds the buffer. bz#2688

   ssh(1), sshd(8): stderr に長いメッセージをログに出す際,
   メッセージの長さがバッファを超過する場合に "\r\n" で切り詰めない.
   bz#2688

 * ssh(1): Fully quote [host]:port in generated ProxyJump/-J command-
   line; avoid confusion over IPv6 addresses and shells that treat
   square bracket characters specially.

   ssh(1): ProxyJump/-J コマンドラインで生成される [host]:port を
   完全にカッコを付ける. 角カッコ([])文字を特別に扱う
   IPv6 アドレスとシェルとの混乱を回避する.

 * ssh-keygen(1): Fix corruption of known_hosts when running
   "ssh-keygen -H" on a known_hosts containing already-hashed entries.

   ssh-keygen(1): すでにハッシュ化されたエントリを含む known_hosts
   への "ssh-keygen -H" の実行での known_hosts の破壊を修正する.

 * Fix various fallout and sharp edges caused by removing SSH protocol
   1 support from the server, including the server banner string being
   incorrectly terminated with only \n (instead of \r\n), confusing
   error messages from ssh-keyscan bz#2583 and a segfault in sshd
   if protocol v.1 was enabled for the client and sshd_config
   contained references to legacy keys bz#2686.

   サーバから SSH プロトコル 1 を除去に起因する様々な影響を修正する.
   サーババナー文字列が (\r\n の変わりに) 間違って \n で終端されていた問題や
   ssh-keyscan からのエラーメッセージが混乱している問題(bz#2583), 
   クライアントでプロトコル v1 が有効で, sshd_config が
   レガシーな鍵の参照を含む場合に sshd が segfault する問題(bz#2686)
   の修正を含む.

 * ssh(1), sshd(8): Free fd_set on connection timeout. bz#2683

   ssh(1), sshd(8): 接続タイムアウト時に fd_set を解放する. bz#2683

 * sshd(8): Fix Unix domain socket forwarding for root (regression in
   OpenSSH 7.4).

   (OpenSSH 7.4 でおかしくなった) root での Unix ドメインソケット転送を
   修正する.

 * sftp(1): Fix division by zero crash in "df" output when server
   returns zero total filesystem blocks/inodes.

   sftp(1): サーバが 全ファイルシステムのブロック/inode をゼロ
   と返す場合に "df" の出力が 0除算でクラッシュするのを修正する.

 * ssh(1), ssh-add(1), ssh-keygen(1), sshd(8): Translate OpenSSL errors
   encountered during key loading to more meaningful error codes.
   bz#2522 bz#2523

   ssh(1), ssh-add(1), ssh-keygen(1), sshd(8): 鍵のロード時に出現する
   OpenSSL エラーをより意味のあるエラーコードに翻訳する.
   bz#2522 bz#2523

 * ssh-keygen(1): Sanitise escape sequences in key comments sent to
   printf but preserve valid UTF-8 when the locale supports it;
   bz#2520

   ssh-keygen(1): printf に送られる鍵コメントのエスケープシーケンスを
   無害化するが, ロケールがサポートする場合は有効な UTF-8 を保持する;
   bz#2520

 * ssh(1), sshd(8): Return reason for port forwarding failures where
   feasible rather than always "administratively prohibited". bz#2674

   ssh(1), sshd(8): ポート転送の失敗の理由を 常に
   "管理者によって禁止されている" ではなくよりもっともなものを返す.
   bz#2674

 * sshd(8): Fix deadlock when AuthorizedKeysCommand or
   AuthorizedPrincipalsCommand produces a lot of output and a key is
   matched early. bz#2655

   sshd(8): AuthorizedKeysCommand か AuthorizedPrincipalsCommand が
   たくさんの出力を生成し鍵が早くマッチする場合のデッドロックを修正する.
   bz#2655

 * Regression tests: several reliability fixes. bz#2654 bz#2658 bz#2659

   回帰テスト: いくつかの信頼性の修正. bz#2654 bz#2658 bz#2659

 * ssh(1): Fix typo in ~C error message for bad port forward
   cancellation. bz#2672

   ssh(1): ポート転送のキャンセルが失敗する場合の ~C エラーメッセージ
   のタイプミスを修正する.

 * ssh(1): Show a useful error message when included config files
   can't be opened; bz#2653

   ssh(1): インクルードされた設定ファイルが開けない場合に
   有用なエラーメッセージを表示する. bz#2653

 * sshd(8): Make sshd set GSSAPIStrictAcceptorCheck=yes as the manual page
   (previously incorrectly) advertised. bz#2637

   sshd(8): マニュアルページに記載されているように (以前は記載通りに設定されていなかった)
   sshd に GSSAPIStrictAcceptorCheck=yes を設定する.

 * sshd_config(5): Repair accidentally-deleted mention of %k token
   in AuthorizedKeysCommand; bz#2656

   sshd_config(5): AuthorizedKeysCommand で %k トークンの言及を
   偶然に消していたのを復元する; bz#2656

 * sshd(8): Remove vestiges of previously removed LOGIN_PROGRAM; bz#2665

   sshd(8): 以前削除した LOGIN_PROGRAM の痕跡を削除する; bz#2665

 * ssh-agent(1): Relax PKCS#11 whitelist to include libexec and
   common 32-bit compatibility library directories.

   ssh-agent(1): libexec と 共通の 32-bit 互換性ライブラリディレクトリを
   含むように PKCS#11 ホワイトリストを緩和する

 * sftp-client(1): Fix non-exploitable integer overflow in SSH2_FXP_NAME
   response handling.

   sftp-client(1): SSH2_FXP_NAME の応答の操作での, 攻撃はできない
   整数オーバーフローを修正する.

 * ssh-agent(1): Fix regression in 7.4 of deleting PKCS#11-hosted
   keys. It was not possible to delete them except by specifying
   their full physical path. bz#2682

   ssh-agent(1): PKCS#11 でホストされた鍵を削除するの 7.4 の不具合
   を修正する. 完全な物理パスを指定された場合を除いて,
   鍵が削除されることはない. bz#2682

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

移植性

 * sshd(8): Avoid sandbox errors for Linux S390 systems using an ICA
   crypto coprocessor.

   sshd(8): ICA 暗号コプロセッサを用いる Linux S390 システム の
   サンドボックスのエラーを回避する.

 * sshd(8): Fix non-exploitable weakness in seccomp-bpf sandbox arg
   inspection.

   sshd(8): seccomp-bpf サンドボックスの引数検査での攻撃はできない弱点
   を修正する.

 * ssh(1): Fix X11 forwarding on OSX where X11 was being started by
   launchd. bz#2341

   ssh(1): X11 が launchd で開始されている場合の OSX での X11 転送を修正する.

 * ssh-keygen(1), ssh(1), sftp(1): Fix output truncation for various that
   contain non-printable characters where the codeset in use is ASCII.

   ssh-keygen(1), ssh(1), sftp(1): 利用しているコードセットが ASCII の場合に
   表示できない文字を含む様々な(メッセージ?)についての出力の切り詰めを修正する.

 * build: Fix builds that attempt to link a kerberised libldns. bz#2603

   build: ケルベロス化された libldns をリンクしようとするビルドを修正する.
   bz#2603

 * build: Fix compilation problems caused by unconditionally defining
   _XOPEN_SOURCE in wide character detection.

   build: ワイド文字検出で 無条件に定義された _XOPEN_SOURCE に起因する
   コンパイルの問題を修正する.

 * sshd(8): Fix sandbox violations for clock_gettime VSDO syscall
   fallback on some Linux/X32 kernels. bz#2142

   いくつかの Linux/X32 カーネルでの clock_gettime VSDO syscall
   フォールバックによるサンドボックスの破壊を修正する.

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

14 Mar, 2017 - 7 minutes

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

Call for testing: OpenSSH 7.5p1

主にバグ修正のリリースです.

このリリースの後に 6〜8月に OpenSSH 8.0 が予定されてるみたいですね.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-March/035849.html

Future deprecation notice
=========================

将来廃止される機能の告知

We plan on retiring more legacy cryptography in future releases,
specifically:

将来のリリースでさらなるレガシーな暗号を廃止することを計画している.
具体的には:

 * In the next major release (expected June-August), removing remaining
   support for the SSH v.1 protocol (currently client-only and compile-
   time disabled).

   (6-8月に予定している) 次のメジャーリリースで, SSH v.1 プロトコルの
   残っているサポートを削除する(現在クライアントのみでコンパイル時に無効
   となっている).

 * In the same release, removing support for Blowfish and RC4 ciphers
   and the RIPE-MD160 HMAC. (These are currently run-time disabled).

   同じリリースで, Blowfish と RC4 暗号, RIPE-MD160 HMAC のサポートを
   削除する. (現在実行時に無効となっている).

 * In the same release, removing the remaining CBC ciphers from being
   offered by default in the client (These have not been offered in
   sshd by default for several years).

   同じリリースで, クライアントがデフォルトで提供する暗号リストに
   残っている CBC 暗号を削除する (この年サーバからは提供していない).

 * Refusing all RSA keys smaller than 1024 bits (the current minimum
   is 768 bits)

   1024 bit よりも小さい RSA 鍵を拒否する (現在の最小は 768 bit)

This list reflects our current intentions, but please check the final
release notes for future releases.

このリストは我々の現在の意図を反映している. ただし, 将来のリリースでの
最終的なリリースノートをチェックしてほしい.

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

非互換な可能性のある変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響する変更がいくつかある.

 * This release deprecates the sshd_config UsePrivilegeSeparation
   option, thereby making privilege separation mandatory. Privilege
   separation has been on by default for almost 15 years.

   このリリースは sshd_config の UsePrivilegeSeparation 設定項目を
   非推奨する. これにより, 特権分離は必須となる. 特権分離は,
   約 15年ほどデフォルトとなっている.

 * The format of several log messages emitted by the packet code has
   changed to include additional information about the user and
   their authentication state. Software that monitors ssh/sshd logs
   may need to account for these changes. For example:

   パケットコードから出力されるいくつかのログメッセージの形式を変更する.
   ユーザとその認証の状態についての追加情報を含むようになる.
   ssh/sshd のログをモニターするソフトウェアは, これらの変更に注意する
   必要があるだろう. 例:

   Connection closed by user x 1.1.1.1 port 1234 [preauth]
   Connection closed by authenticating user x 10.1.1.1 port 1234 [preauth]
   Connection closed by invalid user x 1.1.1.1 port 1234 [preauth]

   Affected messages include connection closure, timeout, remote
   disconnection, negotiation failure and some other fatal messages
   generated by the packet code.

   影響するメッセージには, 接続の終了, タイムアウト, リモートの切断,
   (暗号などの)交渉の失敗, さらにパケットコードから生成される
   その他のいくつかの致命的なメッセージが含まれる.


Changes since OpenSSH 7.4
=========================

OpenSSH 7.4 からの変更

This is a bugfix release.

これはバグ修正のリリースだ.

New Features
------------

新機能

 * ssh(1), sshd(8): Support "=-" syntax to easily remove methods from
   algorithm lists, e.g. Ciphers=-*cbc. bz#2671

   ssh(1), sshd(8): アルゴリズムのリストから方式を簡単の除くことができる
   "=-" 構文をサポートする. たとえば Ciphers=-*cbc のように用いる. bz#2671

Bugfixes
--------

バグ修正

 * ssh(1), sshd(8): Allow form-feed characters to appear in
   configuration files.

   ssh(1), sshd(8): 設定ファイルに表われる フォームフィード文字(0x0C)
   を許容する.

 * sshd(8): Fix regression in OpenSSH 7.4 support for the
   server-sig-algs extension, where SHA2 RSA signature methods were
   not being correctly advertised. bz#2680

   sshd(8): server-sig-algs 拡張に対する OpenSSH 7.4 のサポートでの
   不具合を修正する. SHA2 RSA 署名法が正常に通知されていなかった.
   bz#2680

 * ssh(1), ssh-keygen(1): Fix a number of case-sensitivity bugs in
   known_hosts processing. bz#2591 bz#2685

   ssh(1), ssh-keygen(1): known_hosts 処理での多数の大文字小文字に
   関するバグを修正する. bz#2591 bz#2685

 * ssh(1): Allow ssh to use certificates accompanied by a private key
   file but no corresponding plain *.pub public key. bz#2617

   ssh(1): 関係のないプレーンな *.pub 公開鍵ではなく
   秘密鍵ファイルに付随する証明書を ssh が利用する. bz#2617

 * ssh(1): When updating hostkeys using the UpdateHostKeys option,
   accept RSA keys if HostkeyAlgorithms contains any RSA keytype.
   Previously, ssh could ignore RSA keys when only the ssh-rsa-sha2-*
   methods were enabled in HostkeyAlgorithms and not the old ssh-rsa
   method. bz#2650

   ssh(1): UpdateHostKeys 設定項目で ホスト鍵を更新する際,
   HostkeyAlgorithms が RSA 鍵タイプの1つでもサポートしていたら
   RSA 鍵を受け入れる. 以前は, HostkeyAlgorithm で ssh-rsa-sha2-*
   が有効な場合に ssh は RSA 鍵を無視し, より古い ssh-rsa が有効な
   場合は無視しなかった. bz#2650

 * ssh(1): Detect and report excessively long configuration file
   lines. bz#2651

   ssh(1): 過剰に長い設定ファイルの行を検出しレポートする. bz#2651

 * Merge a number of fixes found by Coverity and reported via Redhat
   and FreeBSD. Includes fixes for some memory and file descriptor
   leaks in error paths. bz#2687

   Coverity よって見付けられたり Redhat や FreeBSD で報告された
   多数の修正をマージする. 異常刑でのメモリやファイルデスクリプタの
   いくつかの漏洩の修正が含まれている. bz#2687

 * ssh-keyscan(1): Correctly hash hosts with a port number. bz#2692

   ssh-keyscan(1): ポート番号付きのホストのハッシュが正しく動くようにする.
   bz#2692

 * ssh(1), sshd(8): When logging long messages to stderr, don't truncate
   "\r\n" if the length of the message exceeds the buffer. bz#2688

   ssh(1), sshd(8): stderr に長いメッセージをログに出す際,
   メッセージの長さがバッファを超過する場合に "\r\n" で切り詰めない.
   bz#2688

 * ssh(1): Fully quote [host]:port in generated ProxyJump/-J command-
   line; avoid confusion over IPv6 addresses and shells that treat
   square bracket characters specially.

   ssh(1): ProxyJump/-J コマンドラインで生成される [host]:port を
   完全にカッコを付ける. 角カッコ([])文字を特別に扱う
   IPv6 アドレスとシェルとの混乱を回避する.

 * ssh-keygen(1): Fix corruption of known_hosts when running
   "ssh-keygen -H" on a known_hosts containing already-hashed entries.

   ssh-keygen(1): すでにハッシュ化されたエントリを含む known_hosts
   への "ssh-keygen -H" の実行での known_hosts の破壊を修正する.

 * Fix various fallout and sharp edges caused by removing SSH protocol
   1 support from the server, including the server banner string being
   incorrectly terminated with only \n (instead of \r\n), and
   confusing error messages from ssh-keyscan bz#2583.

   サーバから SSH プロトコル 1 を除去に起因する様々な影響を修正する.
   サーババナー文字列が (\r\n の変わりに) 間違って \n で終端されていた問題や
   ssh-keyscan からのエラーメッセージが混乱している問題の修正を含む.

 * ssh(1), sshd(8): Free fd_set on connection timeout. bz#2683

   ssh(1), sshd(8): 接続タイムアウト時に fd_set を解放する. bz#2683

 * sshd(8): Fix Unix domain socket forwarding for root (regression in
   OpenSSH 7.4).

   (OpenSSH 7.4 でおかしくなった) root での Unix ドメインソケット転送を
   修正する.

 * sftp(1): Fix division by zero crash in "df" output when server
   returns zero total filesystem blocks/inodes.

   sftp(1): サーバが 全ファイルシステムのブロック/inode をゼロ
   と返す場合に "df" の出力が 0除算でクラッシュするのを修正する.

 * ssh(1), ssh-add(1), ssh-keygen(1), sshd(8): Translate OpenSSL errors
   encountered during key loading to more meaningful error codes.
   bz#2522 bz#2523

   ssh(1), ssh-add(1), ssh-keygen(1), sshd(8): 鍵のロード時に出現する
   OpenSSL エラーをより意味のあるエラーコードに翻訳する.
   bz#2522 bz#2523

 * ssh-keygen(1): Sanitise escape sequences in key comments sent to
   printf but preserve valid UTF-8 when the locale supports it;
   bz#2520

   ssh-keygen(1): printf に送られる鍵コメントのエスケープシーケンスを
   無害化するが, ロケールがサポートする場合は有効な UTF-8 を保持する;
   bz#2520

 * ssh(1), sshd(8): Return reason for port forwarding failures where
   feasible rather than always "administratively prohibited". bz#2674

   ssh(1), sshd(8): ポート転送の失敗の理由を 常に
   "管理者によって禁止されている" ではなくよりもっともなものを返す.
   bz#2674

 * sshd(8): Fix deadlock when AuthorizedKeysCommand or
   AuthorizedPrincipalsCommand produces a lot of output and a key is
   matched early. bz#2655

   sshd(8): AuthorizedKeysCommand か AuthorizedPrincipalsCommand が
   たくさんの出力を生成し鍵が早くマッチする場合のデッドロックを修正する.
   bz#2655

 * Regression tests: several reliability fixes. bz#2654 bz#2658 bz#2659

   回帰テスト: いくつかの信頼性の修正. bz#2654 bz#2658 bz#2659

 * ssh(1): Fix typo in ~C error message for bad port forward
   cancellation. bz#2672

   ssh(1): ポート転送のキャンセルが失敗する場合の ~C エラーメッセージ
   のタイプミスを修正する.

 * ssh(1): Show a useful error message when included config files
   can't be opened; bz#2653

   ssh(1): インクルードされた設定ファイルが開けない場合に
   有用なエラーメッセージを表示する. bz#2653

 * sshd(8): Make sshd set GSSAPIStrictAcceptorCheck=yes as the manual page
   (previously incorrectly) advertised. bz#2637

   sshd(8): マニュアルページに記載されているように (以前は間違っていた)
   sshd に GSSAPIStrictAcceptorCheck=yes を設定する.

 * sshd_config(5): Repair accidentally-deleted mention of %k token
   in AuthorizedKeysCommand; bz#2656

   sshd_config(5): AuthorizedKeysCommand で %k トークンの言及を
   偶然に消していたのを復元する; bz#2656

 * sshd(8): Remove vestiges of previously removed LOGIN_PROGRAM; bzbz#2665

   sshd(8): 以前削除した LOGIN_PROGRAM の痕跡を削除する; bz#2665

 * ssh-agent(1): Relax PKCS#11 whitelist to include libexec and
   common 32-bit compatibility library directories.

   ssh-agent(1): libexec と 共通の 32-bit 互換性ライブラリディレクトリを
   含むように PKCS#11 ホワイトリストを緩和する

 * sftp-client(1): fix non-exploitable integer overflow in SSH2_FXP_NAME
   response handling.

   sftp-client(1): SSH2_FXP_NAME の応答の操作での, 攻撃はできない
   整数オーバーフローを修正する.

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

移植性

 * sshd(8): Avoid sandbox errors for Linux S390 systems using an ICA
   crypto coprocessor.

   sshd(8): ICA 暗号コプロセッサを用いる Linux S390 システム の
   サンドボックスのエラーを回避する.

 * sshd(8): Fix non-exploitable weakness in seccomp-bpf sandbox arg
   inspection.

   sshd(8): seccomp-bpf サンドボックスの引数検査での攻撃はできない弱点
   を修正する.

 * ssh(1): Fix X11 forwarding on OSX where X11 was being started by
   launchd. bz#2341

   ssh(1): X11 が launchd で開始されている場合の OSX での X11 転送を修正する.

 * ssh-keygen(1), ssh(1), sftp(1): Fix output truncation for various that
   contain non-printable characters where the codeset in use is ASCII.

 * ssh-keygen(1), ssh(1), sftp(1): 利用しているコードセットが ASCII の場合に
   表示できない文字を含む様々な(メッセージ?)についての出力の切り詰めを修正する.

 * build: Fix builds that attempt to link a kerberised libldns. bz#2603

   build: ケルベロス化された libldns をリンクしようとするビルドを修正する.
   bz#2603

 * build: Fix compilation problems caused by unconditionally defining
   _XOPEN_SOURCE in wide character detection.

   build: ワイド文字検出で 無条件に定義された _XOPEN_SOURCE に起因する
   コンパイルの問題を修正する.

 * sshd(8): Fix sandbox violations for clock_gettime VSDO syscall
   fallback on some Linux/X32 kernels. bz#2142

   いくつかの Linux/X32 カーネルでの clock_gettime VSDO syscall
   フォールバックによるサンドボックスの破壊を修正する.