http://www.openssh.org/txt/release-5.4 Changes since OpenSSH 5.3 ========================= OpenSSH 5.3 からの変更点 Features: 新しい特徴: * After a transition period of about 10 years, this release disables SSH protocol 1 by default. Clients and servers that need to use the legacy protocol must explicitly enable it in ssh_config / sshd_config or on the command-line. 約10年の移行期間ののち, このリリースでは SSH プロトコル 1 が デフォルトで無効になった. このレガシーなプロトコルを使う必要のある クライアントとサーバは, ssh_config / sshd_config か コマンドラインで 明示的に有効にしなければならない. * Remove the libsectok/OpenSC-based smartcard code and add support for PKCS#11 tokens. PKCS#11 support is automatically enabled on all platforms that support dlopen(3) and was inspired by patches written by Alon Bar-Lev. Details in the ssh(1) and ssh-add(1) manpages. libsectok/OpenSC ベースのスマートカードのコードを廃止し PKCS#11 トークンのサポートを加えた. PKCS#11 のサポートは, dlopen(3) をサポートするすべてのプラットフォームで自動的に有効になる. このサポートは Alon Bar-Lev の書いたパッチに触発された. 詳細は ssh(1) と ssh-add(1) のマニュアルを参照. * Add support for certificate authentication of users and hosts using a new, minimal OpenSSH certificate format (not X.509). Certificates contain a public key, identity information and some validity constraints and are signed with a standard SSH public key using ssh-keygen(1). CA keys may be marked as trusted in authorized_keys or via a TrustedUserCAKeys option in sshd_config(5) (for user authentication), or in known_hosts (for host authentication). 新しい最小限なOpenSSH証明書フォーマット (X.509ではない) を利用した ユーザとホストの証明書認証のサポートを加えた. 証明書は, 公開鍵, 識別情報, いくつかの妥当性制約を含んでいる. また, ssh-keygen(1) を用いた通常のSSH公開鍵で署名されている. CAの鍵は authorized_keys ないし sshd_config(5) の TrustedUserCAKeys 設定項目 (ユーザ認証のため) か known_hosts ファイル(ホスト認証のため)で信用できるとマークされる. Documentation for certificate support may be found in ssh-keygen(1), sshd(8) and ssh(1) and a description of the protocol extensions in PROTOCOL.certkeys. 証明書サポートの説明は, ssh-keygen(1), sshd(8), ssh(1)のマニュアルにある. このプロトコル拡張についての記述は PROTOCOL.certkeys にある. * Added a 'netcat mode' to ssh(1): "ssh -W host:port ..." This connects stdio on the client to a single port forward on the server. This allows, for example, using ssh as a ProxyCommand to route connections via intermediate servers. bz#1618 ssh(1) に 'netcat mode' が追加された: "ssh -W host:port ..." これは, クライアントの標準入出力をサーバの単一のポートに転送して接続する. たとえば, ProxyCommandのようにSSHを用いて中間サーバを経由して 接続を送れるようになる. bz#1618 * Add the ability to revoke keys in sshd(8) and ssh(1). User keys may be revoked using a new sshd_config(5) option "RevokedKeys". Host keys are revoked through known_hosts (details in the sshd(8) man page). Revoked keys cannot be used for user or host authentication and will trigger a warning if used. sshd(8) と ssh(1) に鍵を無効にする機能を追加した. ユーザの鍵は, sshd_config(5) の 新しい設定項目 "RevokedKeys" を使って無効にされる. ホスト鍵は, known_hosts ファイル で無効にされる (詳細は sshd(8) のマニュアル). 無効にされた鍵はユーザやホストの鍵に利用できない. 利用すると警告が出る. * Rewrite the ssh(1) multiplexing support to support non-blocking operation of the mux master, improve the resilience of the master to malformed messages sent to it by the slave and add support for requesting port- forwardings via the multiplex protocol. The new stdio-to-local forward mode ("ssh -W host:port ...") is also supported. The revised multiplexing protocol is documented in the file PROTOCOL.mux in the source distribution. ssh(1) の マルチプレックス サポートを, muxマスターが ノンブロッキングな操作をサポートし, スレーブから不正なメッセージを送られた場合のマスターの復元力を改善し, マルチプレックス プロトコルによる ポート転送の要求をサポートするように書き直した. 新しい標準入出力とローカルの転送モード ("ssh -W host:port ...") もサポートしている. 改訂されたマルチプレックスプロトコルは, ソース配布中の PROTOCOL.mux ファイルに記述されている. * Add a 'read-only' mode to sftp-server(8) that disables open in write mode and all other fs-modifying protocol methods. bz#430 sftp-server(8)に, 書き込みモードでのオープンと すべてのファイルシステムを変更するプロトコルの方法を無効にした 'read-only' モードを追加した. bz#430 * Allow setting an explicit umask on the sftp-server(8) commandline to override whatever default the user has. bz#1229 ユーザが持つデフォルトのumaskがなんであれ上書きする sftp-server(8)のコマンドラインでの明示的なumaskの設定を追加した. bz#1229 * Many improvements to the sftp(1) client, many of which were implemented by Carlos Silva through the Google Summer of Code program: - Support the "-h" (human-readable units) flag for ls - Implement tab-completion of commands, local and remote filenames - Support most of scp(1)'s commandline arguments in sftp(1), as a first step towards making sftp(1) a drop-in replacement for scp(1). Note that the rarely-used "-P sftp_server_path" option has been moved to "-D sftp_server_path" to make way for "-P port" to match scp(1). - Add recursive transfer support for get/put and on the commandline sftp(1)クライアントに多くの改善をした. そのうちの大部分は, Google Summer of Code プログラムで Carlos Silva が実装したものだ. - ls に "-h" (人間が読み易い単位) フラグをサポート - コマンド, ローカルとリモートのファイル名のタブでの補完を実装. - scp(1)のほとんどのコマンドライン引数をsftp(1)でサポート. sftp(1)でscp(1)を容易に置き換えられるようにするための第一歩だ. ほとんど利用されない "-P sftp_server_path" オプションが, "-D sftp_server_path" に移動され, scp(1)と一致する "-P port" に道を譲った. - get/put と コマンドラインでの再帰的な転送をサポートを追加. * New RSA keys will be generated with a public exponent of RSA_F4 == (2**16)+1 == 65537 instead of the previous value 35. 新しいRSAの鍵は, 公開の乗数が RSA F4 == (2**16)+1 == 65537 で 生成されるようになった. 以前の値は 35 だった. * Passphrase-protected SSH protocol 2 private keys are now protected with AES-128 instead of 3DES. This applied to newly-generated keys as well as keys that are reencrypted (e.g. by changing their passphrase). パスフレーズで保護された SSH プロトコル 2 の秘密鍵は, 3DESの代わりに AES-128で保護されるようになる. これは, 新しく生成される鍵にも, (たとえば, パスフレーズを変更するときなどの) 再暗号化のときにも 適用される. Bugfixes: バグ修正: * Hold authentication debug messages until after successful authentication. Fixes a minor information leak of environment variables specified in authorized_keys if an attacker happens to know the public key in use. * 認証が成功するまで, 認証のデバッグメッセージを出さないようになった. これで, 攻撃者が利用している公開鍵を知っている場合に, authorized_keys で指定された環境変数のちょっとした情報漏れが修正された. * When using ChrootDirectory, make sure we test for the existence of the user's shell inside the chroot and not outside (bz#1679) * ChrootDirectory 利用時に, ユーザのシェルがchroot内に存在し外側ではないことをテストするようにした. * Cache user and group name lookups in sftp-server using user_from_[ug]id(3) to improve performance on hosts where these operations are slow (e.g. NIS or LDAP). bz#1495 * user_from_[ug]id(3) を用いる sftp-server でのユーザ名, グループ名の 検索をキャッシュするようにした. これは, NISやLDAPといったこの操作が遅いホストでのパフォーマンスを改善する. bz#1495 * Fix problem that prevented passphrase reading from being interrupted in some circumstances; bz#1590 * いくつかの環境で, パフフレーズの読み込みが割り込みを拒否する問題を修正した. * Ignore and log any Protocol 1 keys where the claimed size is not equal to the actual size. * プロトコル1の鍵が主張しているサイズと実際のサイズが異なる場合に 鍵を無視しログを取るようにした. * Make HostBased authentication work with a ProxyCommand. bz#1569 * ProxyCommand と一緒にホストベース認証が動くようにした. bz#1569 * Avoid run-time failures when specifying hostkeys via a relative path by prepending the current working directory in these cases. bz#1290 * 相対パスで指定されたホスト鍵の指定での実行時失敗を防ぐために, 現在の作業ディレクトリを前に付けるようにした. bz#1290 * Do not prompt for a passphrase if we fail to open a keyfile, and log the reason why the open failed to debug. bz#1693 * 鍵ファイルを開くのを失敗した場合にパフフレーズのプロンプトを 出さないようにした. また, なぜ開くのに失敗したかの理由を debug にログするようにした. bz#1693 * Document that the PubkeyAuthentication directive is allowed in a sshd_config(5) Match block. bz#1577 * PubkeyAuthentication 設定項目が sshd_config(5) の Match ブロックで 設定できることをドキュメント化した. bz#1577 * When converting keys, truncate key comments at 72 chars as per RFC4716. bz#1630 * RFC4716形式への鍵の変換時に, のコメントを 72 文字に切り捨てるようにした. * Do not allow logins if /etc/nologin exists but is not readable by the user logging in. /etc/nologin が存在するが ログインしようとするユーザに読めない場合に ログインを許可しないようにした. * Output a debug log if sshd(8) can't open an existing authorized_keys. bz#1694 sshd(8)が存在する authorized_keys ファイルを開けない場合に debug log に出力するようにした. bz#1694 * Quell tc[gs]etattr warnings when forcing a tty (ssh -tt), since we usually don't actually have a tty to read/set; bz#1686 * ttyを強制する時(ssh -tt)のtc[gs]etattr の警告を出ないようにした. 通常, tty を 実際に read/set しないので. * Prevent sftp from crashing when given a "-" without a command. Also, allow whitespace to follow a "-". bz#1691 * コマンドなしに "-" を与えると sftp がクラッシュする問題に対処した. また, "-" の後の空白も許可する. * After sshd receives a SIGHUP, ignore subsequent HUPs while sshd re-execs itself. Prevents two HUPs in quick succession from resulting in sshd dying. bz#1692 * sshd が SIGHUP を受信した後で, sshd が自身を再実行するまで その後のHUPを無視するようにした. すばやく連続したHUPで sshdが死なないようにした. bz#1692 * Clarify in sshd_config(5) that StrictModes does not apply to ChrootDirectory. Permissions and ownership are always checked when chrooting. bz#1532 * sshd_config(5) で, StrictModes が ChrootDirectory に適用されないことを明確にした. chrootの際に, パーミンションと オーナーは常に確認される. bz#1532 * Set close-on-exec on various descriptors so they don't get leaked to child processes. bz#1643 子プロセスにディスクリプタがリークされないように, 様々なディスクリプタに close-on-exec を設定した. bz#1643 * Fix very rare race condition in x11/agent channel allocation: don't read after the end of the select read/write fdset and make sure a reused FD is not touched before the pre-handlers are called. x11やagentのチャンネルの割り当てでの非常にまれな競合状態を修正した. selectの read/write fdset の終わりのあとで読まないようにし, 再利用するファイルディスクリプタを, pre-handlers が呼ばれる前に 触らないようにした. * Fix incorrect exit status when multiplexing and channel ID 0 is recycled. bz#1570 マルチプレックス時の不正な終了ステータスとchannel ID 0 がリサイクルされる問題を修正した. bz#1570 * Fail with an error when an attempt is made to connect to a server with ForceCommand=internal-sftp with a shell session (i.e. not a subsystem session). Avoids stuck client when attempting to ssh to such a service. bz#1606: * シェルのセッションで ForceCommand=internal-sftp を設定された (サブシステムのセッションではなく) サーバへの接続の試行がエラーで失敗するようにした. このようなサービスへのsshの試行で クライアントがスタックするのを 避けるため. bz#1606 * Warn but do not fail if stat()ing the subsystem binary fails. This helps with chrootdirectory+forcecommand=sftp-server and restricted shells. bz #1599 * サブシステムのバイナリに stat() が失敗したときに警告するが失敗しない ようにした. これは, ChrootDirectory + ForceCommand=sftp-server や 制限されたシェルの場合に役立つ. bz#1599 * Change "Connecting to host..." message to "Connected to host." and delay it until after the sftp protocol connection has been established. Avoids confusing sequence of messages when the underlying ssh connection experiences problems. bz#1588 * "Connecting to host..." メッセージを "Connected to host."に変更した この出力を sftpプロトコルの接続が確立するまで遅らせた. 基底にあるsshの接続に問題がある場合にメッセージのシーケンスが 混乱を起こするの防ぐため. bz#1588 * Use the HostKeyAlias rather than the hostname specified on the commandline when prompting for passwords. bz#1039 パスワードのプロンプトで, コマンドラインで指定されたホスト名ではなく HostKeyAlias を使うようにした. * Correct off-by-one in percent_expand(): we would fatal() when trying to expand EXPAND_MAX_KEYS, allowing only EXPAND_MAX_KEYS-1 to actually work. Note that nothing in OpenSSH actually uses close to this limit at present. bz#1607 * percent_expand() での off-by-one を修正した. EXPAND_MAX_KEYS まで展開したら fatal() になっていたかもしれあない. 実際には EXPAND_MAX_KEYS -1 までしか動かなかったので. 注: 現在OpenSSHでは この制限まで利用していない. bz#1607 * Fix passing of empty options from scp(1) and sftp(1) to the underlying ssh(1). Also add support for the stop option "--". * scp(1)やsftp(1)から基底にあるssh(1)への空のオプションの転送を 修正した. さらに ストップオプション "--" のサポートを追加した. * Fix an incorrect magic number and typo in PROTOCOL; bz#1688 PROTOCOL での 不正なマジック数とタイプミスを修正した. bz#1688 * Don't escape backslashes when displaying the SSH2 banner. bz#1533 SSH2バナーの表示時に バックスラッシュをエスケープしないようにした. bz#1533 * Don't unnecessarily dup() the in and out fds for sftp-server. bz#1566 * sftp-server の入出力のファイルディスクリプタで不必要なdup()を しないようにした. bz#1566 * Force use of the correct hash function for random-art signature display as it was inheriting the wrong one when bubblebabble signatures were activated. bz#1611 * bubblebabble 署名が有効の場合に random-art署名表示で正しいハッシュ関数を 利用するようにした. 間違った者を継承していた. bz#1611 * Do not fall back to adding keys without constraints (ssh-add -c / -t ...) when the agent refuses the constrained add request. bz#1612 エージェントが (ssh-add -c / -t など)の制約付き鍵追加要求を拒否した 場合に, 制限なしでの鍵の追加にフォールバックしないようにした. * Fix a race condition in ssh-agent that could result in a wedged or spinning agent. bz#1633 * ssh-agent が反応しなくなったり空回りにおちいる競合状態を修正した. * Flush stdio before exec() to ensure that everying (motd in particular) has made it out before the streams go away. bz#1596 exec()の前に標準入出力をフラッシュするようにした. ストリームがなくなる前にすべて(特にmotd)が出力されるのを保証するため. * Set FD_CLOEXEC on in/out sockets in sshd(8). bz#1706 sshd(8)の入出力のソケットに FD_CLOEXEC を設定した. bz#1706 Portable OpenSSH Bugfixes: 移植版 OpenSSH のバグ修正 * Use system's kerberos principal name on AIX if it's available. bz#1583 AIX で システムのkerberos の principal name が有効ならば 利用するようにした. bz#1583 * Disable OOM-killing of the listening sshd on Linux. bz#1740 Linuxでの listen中の sshd への OOM-killerの実行を無効にした. bz#1740 * Use pkg-config for opensc config if it's available. bz#1160 openscの設定に pkg-configが有効ならば使うようにした. bz#1160 * Unbreak Redhat spec to allow building without askpass. bz#1677 askpassなしでのrpm作成を許すようにRedHatのspecを修正した. bz#1677 * If PidFile is set in sshd_config, use it in SMF init file. bz#1628 PidFileがsshd_configで設定されていたら, SMF init fileでその設定を使うようにした. * Print error and usage() when ssh-rand-helper is passed command- line arguments as none are supported. bz#1568 ssh-rand-helper でサポートしていないコマンドライン引数を指定された場合に エラーとusage()を表示するようになった. bz#1568 * Add missing setsockopt() to set IPV6_V6ONLY for local forwarding with GatwayPorts=yes. bz#1648 * GatwayPorts=yes での ローカルな転送時に IPV6_V6ONLY を設定する setsockopt()を追加した. bz#1648 * Make GNOME 2 askpass dialog desktop-modal. bz#1645 * GNOME 2 の askpass ダイアログを デスクトップ モーダルにした. bz#1645 * If SELinux is enabled set the security context to "sftpd_t" before running the internal sftp server. bz#1637 SELinuxが有効な場合に, 内部 sftp サーバが走る前に "sftpd_t" セキュリティコンテキストを有効にした. bz#1637 * Correctly check libselinux for necessary SELinux functions; bz#1713 必要な SELinux 関数のために libselinux のチェックを正しくした. bz#1713 * Unbreak builds on Redhat using the supplied openssh.spec; bz#1731 提供された openssh.spec を用いて RedHat でちゃんとビルドできるようにした; bz#1731 * Fix incorrect privilege dropping order on AIX that prevented chroot operation; bz#1567 chroot 操作が禁止されている AIX で 特権を落とす順番が間違っていたのを修正; bz#1567 * Call aix_setauthdb/aix_restoredb at the correct times on AIX to prevent authentication failure; bz#1710 認証の失敗を防ぐために AIX で aix_setauthdb/aix_restoredb を適切な時に呼ぶ ようにした; bz#1710