「OpenSSH」の版間の差分

提供: セキュリティ
移動: 案内検索
(関連項目)
行8: 行8:
  
 
== 概要 ==
 
== 概要 ==
[[Secure_Shell]] は、[[telnet]], [[rlogin]], [[ftp]] などの安全なものに置き換えるものです。
+
[[Secure_Shell]] は、telnet, rlogin, [[ftp]] などの安全なものに置き換えるものです。
[[telnet]], [[rlogin]], [[ftp]] などは、通信路が暗号化されていないため、盗聴やネットワーク接続の乗っ取りのリスクがあります。
+
telnet, rlogin, [[ftp]] などは、通信路が暗号化されていないため、盗聴やネットワーク接続の乗っ取りのリスクがあります。
 
[[OpenSSH]]では、パスワード認証を含む通信が暗号化されます。
 
[[OpenSSH]]では、パスワード認証を含む通信が暗号化されます。
  
行19: 行19:
 
* [[ssh-agent]]
 
* [[ssh-agent]]
 
* [[ssh-keygen]]
 
* [[ssh-keygen]]
* [[ssh-keyscan]]
+
* ssh-keyscan
* [[ssh-keysign]]
+
* ssh-keysign
 
== インストール ==
 
== インストール ==
* [[sshd on Ubuntu]]
+
* sshd on Ubuntu
 
* [[sshd on FreeBSD]]
 
* [[sshd on FreeBSD]]
 
== 使い方 ==
 
== 使い方 ==
行54: 行54:
 
* [[ssh]], [[sshd]]: 鍵交換に elliptic-curve Diffie Hellman in Deniel Bernstein's Curve25519 (楕円曲線ディフィー・ヘルマン)をサポートしました。この鍵交換メソッドは、クライアントとサーバーがサポートしている場合に、デフォルトです。
 
* [[ssh]], [[sshd]]: 鍵交換に elliptic-curve Diffie Hellman in Deniel Bernstein's Curve25519 (楕円曲線ディフィー・ヘルマン)をサポートしました。この鍵交換メソッドは、クライアントとサーバーがサポートしている場合に、デフォルトです。
 
* [[ssh]], [[sshd]]: 公開鍵タイプとしてEd25519をサポートしました。Ed25519は、ECDSAやDSAよりもセキュアで良いパフォマンスの楕円曲線シグネチャスキームです。
 
* [[ssh]], [[sshd]]: 公開鍵タイプとしてEd25519をサポートしました。Ed25519は、ECDSAやDSAよりもセキュアで良いパフォマンスの楕円曲線シグネチャスキームです。
* より良い鍵保護のために、[[bcrypt]] [[KDF]]を使用する新しい秘密鍵フォーマットを追加しました。このフォーマットは、Ed25519の鍵は、無条件で使用します。近いうちに、新しいフォーマットがデフォルトになります。
+
* より良い鍵保護のために、[[bcrypt]] [[鍵導出関数|KDF]]を使用する新しい秘密鍵フォーマットを追加しました。このフォーマットは、Ed25519の鍵は、無条件で使用します。近いうちに、新しいフォーマットがデフォルトになります。
 
* [[ssh]], [[sshd]]: 認証された暗号モードを作るために、 Daniel Bernstein's ChaCha20 stream cipher と Ply1305 MAC を組み合わせた "chacha20-poly1305@openssh.com" が新しい転送暗号として追加されました。
 
* [[ssh]], [[sshd]]: 認証された暗号モードを作るために、 Daniel Bernstein's ChaCha20 stream cipher と Ply1305 MAC を組み合わせた "chacha20-poly1305@openssh.com" が新しい転送暗号として追加されました。
 
* [[ssh]], [[sshd]]: 時代遅れの RSA+MD5 シグネチャスキームを使用する古いプロプライエタリなクライアントとサーバーからのRSA鍵を拒否します。まだ、それらのクライアントとサーバは、接続できますが、DSA鍵だけ許可されます。[[OpenSSH]]は、将来のリリースですべてのコネクションを拒否します。
 
* [[ssh]], [[sshd]]: 時代遅れの RSA+MD5 シグネチャスキームを使用する古いプロプライエタリなクライアントとサーバーからのRSA鍵を拒否します。まだ、それらのクライアントとサーバは、接続できますが、DSA鍵だけ許可されます。[[OpenSSH]]は、将来のリリースですべてのコネクションを拒否します。
行64: 行64:
 
* [[sftp-server]]: name によって sftpプロトコルリクエストの任意の[[ホワイトリスト]]と[[ブラックリスト]]が追加されました。
 
* [[sftp-server]]: name によって sftpプロトコルリクエストの任意の[[ホワイトリスト]]と[[ブラックリスト]]が追加されました。
 
* [[sftp-server]]:オープンファイルハンドルで、 [[fsync]] の呼び出しをサポートする [[sftp]] "fsync@openssh.com" が追加されました。
 
* [[sftp-server]]:オープンファイルハンドルで、 [[fsync]] の呼び出しをサポートする [[sftp]] "fsync@openssh.com" が追加されました。
* [[sshd]]: [[TTY]]割り当てを無効にする[[sshd_config]] PermitTTYが追加されました。長年使用されてきた、[[authorized_keys]]オプションの no-pty のミラーリングです。
+
* [[sshd]]: TTY割り当てを無効にする[[sshd_config]] PermitTTYが追加されました。長年使用されてきた、[[authorized_keys]]オプションの no-pty のミラーリングです。
 
* [[ssh]]: [[ssh_config]]にProxyUseFDPassオプションが追加されました。確立されたコネクションや接続されたファイルディスクリプタをsshにバックするProxyCommandsの使用がサポートされます。
 
* [[ssh]]: [[ssh_config]]にProxyUseFDPassオプションが追加されました。確立されたコネクションや接続されたファイルディスクリプタをsshにバックするProxyCommandsの使用がサポートされます。
 
=== OpenSSH 6.4 ===
 
=== OpenSSH 6.4 ===

2015年9月22日 (火) 20:21時点における版

OpenSSH は、ssh プロトコルを使用するフリーな実装のネットワーク接続ツールです。SSHサーバとSSHクライアントのプログラムを提供します。OpenBSDプロジェクトにより開発されています。BSDライセンスで公開されています。

読み方

OpenSSH
おーぷんえすえすえいち
OpenBSD
おーぷんびーえすでぃー

概要

Secure_Shell は、telnet, rlogin, ftp などの安全なものに置き換えるものです。 telnet, rlogin, ftp などは、通信路が暗号化されていないため、盗聴やネットワーク接続の乗っ取りのリスクがあります。 OpenSSHでは、パスワード認証を含む通信が暗号化されます。

OpenSSHでは、以下のツールが提供されます。

インストール

使い方

バージョン

OpenSSH 6.8

OpenSSH 6.8 は、2015/03/18 にリリースされました。

  • ssh, sshd: FingerprintHash オプションが追加
  • デフォルトのハッシュ関数が MD5からSHA256に変更され、フォーマットはhexからbase64に変更されました。
  • ホスト鍵ローテーションのサポートが実験的に追加されました。認証後に、ホスト鍵を通知するプロトコル拡張が行われています。クライアントは、known_hostsにホスト鍵を記録します。クライアントはUpdateHostkeysの設定はデフォルトでは無効で、有効にすることで利用できます。
  • 鍵失効リスト(Key Revocation Lists)は、OpenSSLサポート付きでのOpenSSHコンパイルを必要としなくなりました。
  • sshとssh-keysignで ed25519 鍵がホストベース認証で利用できるようになりました。

OpenSSH 6.7

OpenSSH 6.7 は、2014/10/07 にリリースされました。

  • ssh, sshd: UNIXドメインソケットの転送をフルサポートしました。遠隔にあるTCPポートをローカルのUNIXドメインソケットに転送でき、逆方向の転送やUNIXドメイン間の転送もできます。
  • ssh, ssh-keygen: SSHFP DNSレコードでのDE25519鍵タイプがサポートされました。
  • ssh: 鍵再交換時のホストキーのファイル/DNS検索を省略する機能が追加されました。

OpenSSH 6.6

OpenSSH 6.6 は、2014/03/16 にリリースされました。 OpenSSHは、100% SSHプロトコル 1.3, 1.5, 2.0 の実装で、sftp クライアントとサーバのサポートが含まれます。

新しい機能や変更:

  • ssh, sshd: J_PAKE 認証コードを削除しました。
  • ssh: Matchブロックの処理で、ほかの 句述語がマッチに失敗したときに、exe 句をスキップする
  • ssh: ホスト名の正規化(ノーマライズ)が有効で、宛先のホスト名が変更されているとき、新しい宛先のホスト名を使って、ssh_config ファイルをパースしなおします。ホスト名の展開は、 Host と Match のディレクティブで行われます。

OpenSSH 6.5

OpenSSH 6.5 は、2014/01/30 にリリースされました。

  • ssh, sshd: 鍵交換に elliptic-curve Diffie Hellman in Deniel Bernstein's Curve25519 (楕円曲線ディフィー・ヘルマン)をサポートしました。この鍵交換メソッドは、クライアントとサーバーがサポートしている場合に、デフォルトです。
  • ssh, sshd: 公開鍵タイプとしてEd25519をサポートしました。Ed25519は、ECDSAやDSAよりもセキュアで良いパフォマンスの楕円曲線シグネチャスキームです。
  • より良い鍵保護のために、bcrypt KDFを使用する新しい秘密鍵フォーマットを追加しました。このフォーマットは、Ed25519の鍵は、無条件で使用します。近いうちに、新しいフォーマットがデフォルトになります。
  • ssh, sshd: 認証された暗号モードを作るために、 Daniel Bernstein's ChaCha20 stream cipher と Ply1305 MAC を組み合わせた "chacha20-poly1305@openssh.com" が新しい転送暗号として追加されました。
  • ssh, sshd: 時代遅れの RSA+MD5 シグネチャスキームを使用する古いプロプライエタリなクライアントとサーバーからのRSA鍵を拒否します。まだ、それらのクライアントとサーバは、接続できますが、DSA鍵だけ許可されます。OpenSSHは、将来のリリースですべてのコネクションを拒否します。
  • ssh, sshd: 弱い鍵交換ハッシュ計算を使用する古いプロプライエタリなクライアントとサーバーを拒否します。
  • ssh: それぞれの対称鍵サイズのためにディフィー・ヘルマングループのサイズを増やしました。
  • ssh, ssh-agent: pkcs#11 tokes をサポートしました。
  • ssh: ssh_configに"Match"キーワードを追加しました。ホスト名、ユーザー、任意のコマンドでのマッチングを適用する条件設定ができます。
  • ssh: ssh_configのDNSサフィックスやルールの設定で、クライアントサイドのホスト名カノニカリゼーションがサポートされました。これは、known_hostsやホストサーティフィケイトネームのルックアップするときの曖昧さをなくすために、不完全な名前をカノニカライズドした完全修飾ドメイン名(FQDN)にします。
  • sftp-server: name によって sftpプロトコルリクエストの任意のホワイトリストブラックリストが追加されました。
  • sftp-server:オープンファイルハンドルで、 fsync の呼び出しをサポートする sftp "fsync@openssh.com" が追加されました。
  • sshd: TTY割り当てを無効にするsshd_config PermitTTYが追加されました。長年使用されてきた、authorized_keysオプションの no-pty のミラーリングです。
  • ssh: ssh_configにProxyUseFDPassオプションが追加されました。確立されたコネクションや接続されたファイルディスクリプタをsshにバックするProxyCommandsの使用がサポートされます。

OpenSSH 6.4

OpenSSH 6.4 は、2013/11/08 にリリースされました。 このリリースは、セキュリティバグフィックスです。

  • AES-GCM暗号が選択されたときに rekeying の最中に引き起こされるメモリ汚染問題を修正しました。

OpenSSH 6.3

OpenSSH 6.3 は、2013/09/13 にリリースされました。 OpenSSH 6.3 は、主にバグフィックスがメインです。 機能追加は、以下の通りです。

  • ssh: バイナリでの暗号、MACアルゴリズム、鍵のタイプ、鍵交換メソッドの問い合わせをサポートした。
  • ssh: プロキシに対してすでにstdin/stdoutが指定されている場合のために、ProxyCommand=- をサポートした。
  • ssh: IdentityFile=none を許可した。
  • ssh/sshd: sshsshdに-E オプションを追加した。stderrsyslog の代わりの特定のファイルにデバッグログを追加する。
  • sftp: 部分的なダウンロードのレジュームのために "reget" コマンドを追加し、sftpコマンドラインや "get" コマンドラインで使うために、 "-a" オプションを追加した。
  • ssh: 未知の設定ディレクティブによって引き起こされるエラーの選択的に隠すためのオプションとして、 "IgnoreUnknown" 設定オプションを追加した。
  • sshd: AuthenticationMethods によって、要求する認証メソッドを追加するためのサブメソッドのサポートを追加した。

OpenSSH 6.2

OpenSSH 6.2 は、いくつかの新しい機能を導入しました。

  • ssh/sshd: SSH プロトコル 2 において、AES-GCM 認証された暗号のサポートを追加した。この新しい暗号は、 aes128-gcm@oppenssh.com と aes256-gcm@openssh.com で利用可能だ。RFC 5647 に指定されている AES-GCM モードと同一のパケットフォーマットを使い、しかし、鍵交換の間は、シンプルで異なるセレクションルールを使う。
  • ssh/sshd: SSH プロトコル 2 において、Aencrypt-then-mac (EtM) Mac モードのサポートを追加した。これらのモードは、より安全と考えられ、デフォルトで利用できるようになっている。
  • ssh/sshd: "umac-128@openssh.com" と "umac-128-etm@openssh.com" として UMAC-128 MAC のサポートを追加した。後者は、 encrypt-then-mac モードだ。
  • sshd: SSH プロところう 2 で AuthenticationMethods オプションを通して、複数の認証の要求のサポートを追加した。このオプションは、1つか、コンマでセパレートされた認証メソッド名をリストします。彼らがパスワード認証するために、公開鍵かGSSAPIによる認証を要求する、といったことができる。
  • sshd/ssh-keygen: キー失効リスト(Key Revocation Lists , KRLs) のサポートを追加した。失効したキーと証明書のリストを表すコンパクトなバイナリフォーマットだ。証明書ごとに1bitを仕様して、シリアルナンバーによって失効する。KRLs は、 ssh-keygen を使って生成され、 RevokedKeys sshd_config オプションを通して、sshd にロードされる。
  • ssh: IdentitiesOnly は、PKCS11Provider から得たキーを提供する。
  • sshd: sshd_config の AllowTcpForwarding は、 "local" と "remote" を受け入れます。
  • sshd: sshd_config オプション AuthorizedKeysCommand を追加した。 コマンドから(もしくは、ファイルシステムから)の authorized_keys の取得をサポートする。このコマンドは、AuthorizedKeysCommandUser sshd_config オプション によって指定されたアカウントの元で実行される。
  • sftp-server: -d オプションをサポートした。ユーザーのホームディレクトリでスタートすることを許可する。
  • ssh-keygen: "ssh-keygen -lD pkcs11_provider"を仕様して、PKCS#11 トークンで、キーのフィンガープリントのホストを許可する。
  • ssh: SSH プロトコル 2 が選択されているときだけ(デフォルト)、sshは、ただちに、サーバーバナーを受け取ることをまたずにサーバーに SSH プロトコルバナーを送信する、接続するときに、時間を節約する。
  • ssh: ~v と ~V エスケープシークエンスを追加した。それぞれのロギングレベルを挙げたり、下げたりする。
  • ssh: エスケープコマンドヘルプ(~?)を作った。現在のセッションを表示する。
  • ssh-keygen: "ssh-keygen -R host" を使用して、known_hosts から ホストの行を削除する。ssh-keygen は、削除した行の詳細を表示する。

関連項目