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

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 ハーネスを追加する