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) を利用する.