OpenSSH 9.9p1 がリリースされました
2024/09/20, OpenSSH 9.9p1 がリリースされました.
- OpenSSH 9.9 Release Note 中の OpenSSH 9.9 での変更点の翻訳
- この記事にも添付します.
- OpenSSH 移植版付属文書の翻訳
“Match” 設定項目の引数の処理が変更されています. 特に “Match exec” を利用している場合には注意が必要と思います.
2024/09/20, OpenSSH 9.9p1 がリリースされました.
“Match” 設定項目の引数の処理が変更されています. 特に “Match exec” を利用している場合には注意が必要と思います.
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 の検知の修正.
2024/07/01, OpenSSH 9.8p1 がリリースされました.
セキュリティ問題の修正が 2 つあり, 1 つは致命的なものです.
OpenSSH 9.8 がリリース準備中です.
重要と思える変更点は次です.
アップグレードには慎重な対応が求められる場合があるでしょう
2024/03/11, OpenSSH 9.7p1 がリリースされました.
バグ修正中心のリリースです. また今年中に DSA 署名のサポートが無効になりそうです.
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 を利用時のコンパイルで
警告が出ないようにする.
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 を利用する .
2023/10/04, OpenSSH 9.5p1 がリリースされました.
バグ修正中心で少し新機能があるリリースです. ObscureKeystrokeTiming は興味深いですね.
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 がリリース準備中です.
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 プロバイダ
のビルドの問題を修正する.
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) クライアントは
これを行なうが, 他のツールを用いたエージェントソケットへの転送アクセス
はこの制限を回避するかもしれない.
2023/03/15, OpenSSH 9.3 がリリースされました.
セキュリティバグの修正のあるリリースです. ただし影響は限定的に見えます.
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
2023/02/02, OpenSSH 9.2 がリリースされました.
バグ修正中心のリリースです. おそらく悪用できないと思われるメモリ安全に関する問題が 3 件修正されています.
2022/10/04, OpenSSH 9.1 がリリースされました.
バグ修正中心のリリースです. おそらく悪用できないと思われるメモリ安全に関する問題が 3 件修正されています.
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 でタイムゾーンのデータをキャッシュする.
2022/04/08, OpenSSH 9.0 がリリースされました.
scp で sftp プロトコルがデフォルトで利用されるようになりました.
2022/02/23, OpenSSH 8.9 がリリースされました.
ssh-agent に鍵を追加する際に転送の制限を可能にする SSH agent restriction が入ります.
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)
を利用する
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
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 がリリース準備中です.
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 によるとサンドボックの破壊を引き起す可能性がある.
2021/04/19, OpenSSH 8.6 がリリースされました.
主にバグ修正のリリースですが, 実際に利用される蓋然性が非常に少ないセキュリティの問題への対応があります.
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 がリリース準備中です.
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 をレポートするわけではない.
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 がリリース準備中です.
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
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 がリリース準備中です.
バグ修正がメインのリリースとなりそうです.
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 が選択された場合の
いくつかの設定でのコンパイル時の問題を修正する.
2020/02/14, OpenSSH 8.2 がリリースされました.
SHA-1 の危殆化による変更, FIDO/U2F 対応が行なわれています.
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
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 がリリース準備中です.
バグ修正に重点がおかれたリリースになる模様です.
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
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 がリリース準備中です.
新機能とリファクタリングに重点がおかれたリリースになる模様です.
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
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 がリリース準備中です.
主にバグ修正のリリースです.
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)
を扱う. いくつかのプラットフォームはこの制限をガイドラインとして
考慮している.
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 がリリース準備中です.
主にバグ修正のリリースです.
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) を利用する.
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 がリリース準備中です.
主にバグ修正のリリースです.
# 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 ファイルを沢山修正した.
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 - 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 ハーネスを追加する
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.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
フォールバックによるサンドボックスの破壊を修正する.