OpenSSH 9.1 がリリースされました
2022/10/04, OpenSSH 9.1 がリリースされました.
- OpenSSH 9.1 Release Note 中の OpenSSH 9.1 での変更点の翻訳
- この記事にも添付します.
- OpenSSH 移植版付属文書の翻訳
バグ修正中心のリリースです. おそらく悪用できないと思われるメモリ安全に関する問題が 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)
を利用する
「台東区公衆喫煙環境の整備指針 中間のまとめ」について、皆様からのご意見を募集します。 台東区ホームページに対して次の内容で意見を送りました.
> 2 目的
> 本指針において、公衆喫煙環境に関する課題と対策を整理し、区の取り組みの
> 方向性とその内容を明らかにすることで、歩きたばこやポイ捨てがなく、たばこ
> の煙や臭いに困ることのない快適な環境の整備を推進し、喫煙する人もしない
> 人も共存できる「分煙」社会の実現を目指します。
歩きたばこだけではなく, 静止しての喫煙(路上喫煙)による受動喫煙/自転車やバイク, 自動車運転中のものによる喫煙による受動喫煙/喫煙可能場所での喫煙したものの衣服などからの三次喫煙 などにも悩まされています. これらを目的に明記していただきたいです.
個人的な体験での補足です.
上野駅ペデストリアンデッキの公設喫煙所からの煙は広範囲に広がるため, 目的地まで最短距離で移動することをあきらめることがあります.
飲食店などが勝手に敷地内や歩道, 車道に配置する灰皿付近での喫煙により受動喫煙したり, 受動喫煙を避けるために道を変えることは日常となっています. 歩道車道での配置については苦情を台東区都市づくり部道路管理課に出したことがありますが, 注意をしたという店舗についても状況は変化しておりません(あいかわらず車道に灰皿を出している).
よく自転車を運転するのですが, 歩道での喫煙や運転中のものによる喫煙による受動喫煙で苦しくなることがあります. 交通安全上も問題があると考えています.
三次喫煙については, 台東区内の東京都の禁煙標識が掲示されている飲食店利用時に他の客が外で喫煙してして戻ってくることがあり, その時点で店の利用の継続を諦め退店したことがあります. また 2021/12 の 台東区ではなく新宿区での経験ですが, バス乗車中に公設喫煙所での喫煙後すぐにバスに乗車したものからの三次喫煙被害を受けました. 同様のことは台東区でも起っているのではないかと思います.
特にコンテナ/トレーラー型の公設喫煙所の利用者によっておこされる三次喫煙は心配しています. 通常の喫煙可能場所や喫煙可能店の利用者による三次喫煙についても目を向けてほしいです.
参考: 拡がる「タバコ害」の意識〜生駒市45分ルールとモスバーガー禁煙化(石田雅彦) - 個人 - Yahoo!ニュース - https://news.yahoo.co.jp/byline/ishidamasahiko/20180330-00083333
受動喫煙には関係ありませんが, 3D 円グラフ (7ページ) の利用はやめてください. 3D でないものを含めて 円グラフの利用は一般的に好ましくありません.
参考: 3D円グラフを使うのはやめよう | Okumura's Blog - https://oku.edu.mie-u.ac.jp/~okumura/blog/node/2266
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 がリリースされました.
主にバグ修正のリリースですが, 実際に利用される蓋然性が非常に少ないセキュリティの問題への対応があります.