Secure Shell

Secure Shell（セキュア シェル、SSH）は、暗号や認証技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証を含むすべてのネットワーク上の通信が暗号化される。

概要 
従来からTelnet、rsh、rloginなどリモートホストのシェルを利用するためのプロトコルは存在した。しかしながら、これらはネットワークに平文でパスワードを送信するため、パスワードを覗き見（盗聴）される危険性が高く、特にインターネット上では大きな問題であった。SSHは通信を暗号化した代替の通信プロトコルである。

ファイルコピー用のコマンドrcpを代用するscpや、FTPを代用するsftpも用意されている。

SSHの暗号通信はいわゆるハイブリッド暗号であり：

 鍵交換アルゴリズム（ディフィー・ヘルマン鍵共有など）で共通鍵暗号のセッション鍵を生成し
 共通鍵暗号（トリプルDES、AESなど）で通信を暗号化し
 公開鍵暗号（RSAやDSA）でホストやユーザ認証を行なう

認証方式は公開鍵認証の他にも、パスワード認証、ワンタイムパスワードなどが提供されており、各個人/企業の情報セキュリティポリシーに合わせて選択できる。

なりすましを防止するための仕組みも充実している。

現在はバージョン1と2の2種類のプロトコルが共存している。バージョン1は既知の脆弱性があり推奨されない。

商用、フリーソフトウェア含めて幾つかの実装があり、特許や互換性の問題などでやや混乱があったが、2006年にSSHおよびその関連技術がRFCとして制定された。2008年の時点で最も普及しているのは、オープンソースのOpenSSHである。Linuxなどでも標準利用されており、現在では単にSSHと言った場合、OpenSSHの実装系を指すことが多い。

ソフトウェア

SSHサーバ 
 OpenSSH (マルチプラットフォーム)
 SSH Tectia Server (マルチプラットフォーム)
 Reflection for Secure IT(マルチプラットフォーム)

SSHクライアント 
 OpenSSH (マルチプラットフォーム)
 PuTTY (Windows, UNIX)
 Xshell (Windows)
 Tera Term (Windows)
 Poderosa (Windows)
 RLogin (Windows)
 SSH Tectia Client (マルチプラットフォーム)
 Reflection for Secure IT(マルチプラットフォーム)
 WebSSH

セキュリティリスク 
SSH接続時にサーバ鍵のフィンガープリントを確認しないと、意図しないリモートコンピュータに接続している事に気づかず、通信内容を盗聴される恐れがある。

SSHサーバによっては、設定次第でブルートフォースアタックでシェルへのアクセスを許してしまう。IPAが発表している不正アクセスの届け出状況では、SSHポート経由でパスワードクラッキングが行われた例が繰り返し発表されている。「パスワード管理の徹底」「セキュリティパッチの適用」「アクセスログの監視による攻撃の迅速な発見」のような対策に加えて、公開鍵認証を採用することをIPAは推奨している。

脚注

関連項目 
 TLS
 Telnet
 File Transfer Protocol
 SSH File Transfer Protocol
 Secure copy
 FISH

アプリケーション層プロトコル
暗号ソフトウェア
4250