ネットワーク用語 > SSH
SSH = Secure SHell
ssh 【Secure SHell】
読み :セキュアシェル
主にUNIXコンピュータで利用される、ネットワークを介して別のコンピュータにログインしたり、遠隔地のマシンでコマンドを実行したり、他のマシンへファイルを移動したりするためプログラム。
ネットワーク上を流れるデータは暗号化されるため、インターネット経由でも一連の操作を安全に行うことができる。
Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。
パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
概要
Secure Shell は、そもそもTelnetやrsh、rloginなどといった、リモートホストのシェルを利用するための既存のプロトコルを代用する手段として考えられていた。
TelnetやFTPは、ネットワーク上に平文でパスワードを送信してしまうため、パスワードをネットワーク経路上でのぞき見されてしまう(これを盗聴と呼ぶ)危険性が高く、商業的なインターネット空間では問題が大きかった。
Telnet同様に、リモートホスト間でのファイルコピー用のコマンドrcpを代用するscpや、FTPを代用するためのsftpも用意されている。
SSHの暗号通信は、公開鍵暗号(RSAやDSA)を用いて共通鍵暗号(トリプルDES、AESなど)の共通鍵を暗号化して鍵交換を行い、通信自体は高速な共通鍵暗号を用いる、いわゆるハイブリッド暗号である。
また、なりすましを防止するための認証の仕組みも充実している。
パスワード認証、公開鍵認証、ワンタイムパスワードなどが提供されており、個々の情報セキュリティポリシーに合わせて選択できる。
現在は、バージョン1とバージョン2の2種類のプロトコルが共存している。
脆弱性が発見されているため、バージョン1の利用は推奨されない。
商用アプリケーションやフリーソフトウェアなど幾つかの実装があり、特許や互換性の問題などでやや混乱があったが、2006年にSSHのプロトコルおよびその関連技術がRFCとして制定された。
ただ、2008年の時点でもっとも一般に普及しているのは、オープンソースで開発されているOpenSSHで、Linuxなどでも標準的に利用されているため、現在では単にSSHと言った場合、OpenSSHの実装系を指すことが多い。