Secure Shell は OpenSSH プロジェクトのフォークです。OpenSSH の最近のバージョンに見つかった脆弱性に対するセキュリティー関連の修正が、個別のバグ修正および機能として Secure Shell に組み込まれています。2012 年 9 月時点では、Oracle Solaris の Secure Shell のバージョンは 2.0 です。ssh –V コマンドはバージョン番号を表示します。
このリリースの Secure Shell では、v2 プロトコル用に次の機能が実装されています。
ForceCommand キーワード – ユーザーがコマンド行に入力した内容に関係なく、指定されたコマンドを強制的に実行します。このキーワードは、Match ブロックの内側で非常に役立ちます。この sshd_config 構成オプションは、$HOME/.ssh/authorized_keys 内の command="..." オプションに似ています。
AES-128 パスフレーズ保護 – ssh-keygen コマンドで生成される非公開鍵は AES-128 アルゴリズムで保護されます。このアルゴリズムでは、新しく生成された鍵や再暗号化された鍵 (パスフレーズが変更された場合など) を保護します。
sftp-server コマンドの –u オプション – ユーザーがファイルやディレクトリに対して明示的な umask を設定できるようにします。このオプションは、ユーザーのデフォルトの umask をオーバーライドします。例については、sshd_config(4) のマニュアルページの「Subsystem」の説明を参照してください。
Match ブロック用のその他のキーワード – Match ブロックの内側では AuthorizedKeysFile、ForceCommand、および HostbasedUsesNameFromPacketOnly がサポートされています。デフォルトでは、AuthorizedKeysFile の値は $HOME/.ssh/authorized_keys で、HostbasedUsesNameFromPacketOnly の値は no です。Match ブロックを使用するには、Secure Shell デフォルトのユーザーおよびホスト例外を作成する方法を参照してください。
Oracle Solaris の技術者は OpenSSH プロジェクトにバグ修正を提供します。さらに、彼らは次の Oracle Solaris 機能を Secure Shell フォークに統合しました。
PAM – Secure Shell は PAM を使用します。OpenSSH の UsePAM 構成オプションはサポートされていません。
特権の分離 – Secure Shell では OpenSSH プロジェクトの特権分離コードは使用されません。Secure Shell では、監査、記録管理、および再キーイングの処理がセッションプロトコルの処理から分離されます。
Secure Shell の特権分離コードは常にオンに設定されており、オフに切り替えることはできません。OpenSSH の UsePrivilegeSeparation 設定オプションはサポートされていません。
ロケール – Secure Shell では、RFC 4253「Secure Shell Transfer Protocol」で定義されている言語ネゴシエーションが完全にサポートされています。ユーザーがログインしたあと、ユーザーのログインシェルプロファイルは Secure Shell でネゴシエーションを行ったロケール設定をオーバーライドできます。
監査 – Secure Shell は Oracle Solaris 監査サービスに完全に統合されています。監査サービスについては、Oracle Solaris 11.2 での監査の管理 を参照してください。
GSS-API のサポート – GSS-API はユーザー認証と初期鍵交換の両方に使用できます。GSS-API は RFC 4462「Generic Security Service Application Program Interface」で定義されています。
プロキシコマンド – Secure Shell では、SOCKS5 プロトコルと HTTP プロトコルのプロキシコマンドが提供されています。例については、ファイアウォール外部のホストへのデフォルトの Secure Shell 接続を設定する方法を参照してください。
Oracle Solaris リリースでは、Secure Shell は SSH_OLD_FORWARD_ADDR 互換性フラグを OpenSSH プロジェクトから再同期します。