SSHプロトコル
2001.10.25
鬼塚 優
SSHとは
•ssh (Secure Shell) はネットワークを介してコン
ピュータにログインするプログラムで、遠隔地の
マシンでコマンドを実行したり他のマシンへファイ
ルを移したりするために使われる。
•ssh は強力な認証と安全ではない経路を通じて
の安全な通信を提供する。
•ssh はrlogin(リモートログイン), rsh(リモートシェ
ル), そして rcp(リモートファイルコピー) の代わる
ものとして意図されている。
SSHを使用する理由
•昔からあるBSDの「‘r’ -コマンド」(rsh, rlogin, rcp)は何種
類もの異なる攻撃に対して無防備で、ネットワークを介し
てマシンに root でアクセスすることは、システムへの多数
の方法での無権限アクセスを招くおそれがある。
•X Window System もまた幾つかの深刻な脆弱さを抱えて
いるが、 ssh によって、安全な遠隔地からのX接続をユー
ザーには透明なままで実現できる。
•初期接続後のセッションで、クライアントは初期接続のとき
と同じサーバーに接続していることを確認できる。
•クライアントは、サーバーに対し、ユーザー名やパスワード
などの認証情報を暗号化形式で転送できる。
•接続時に送受信したデータはすべて強力な暗号化を用い
て転送されるので、解読は非常に難しくなる。
•クライアントは、シェルプロンプトから起動したX11アプリ
ケーションを使用することができる。この方法では、安全な
グラフィカルインターフェイスが提供される。
SSHでは、次の保護手段が取られている
SSHにはいくつかのクライアント認証方式が
あります。
•ホストベースのRSA認証
•ユーザーベースのRSA認証
•パスワード認証
•パスワード認証
---ユーザ名とパスワードを提示し、ユーザとして認証されれ
ばサーバにログインできる。このとき、トランスポート層プ
ロトコルを用いてすでに通信路を暗号化しているので、
ネットワーク上をパスワードがそのまま流れるわけではな
い。
•ホストベース認証
---.rhostファイルや/etc/hosts.equivファイルに、クライアントの
ホスト名が記載されている場合、パスワードなどの認証を
経ずにログインできる仕組み