Secure Shell
従来から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の実装系を指すことが多い。