このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,SSHについてシンプルにまとめています。SSHの概要,トランスポート層プロトコル,認証プロトコル(パスワード認証,ホストベース認証,公開鍵認証),コネクションプロトコル(ログインセッション,コマンド実行,ポートフォワーディング)を解説します。繰り返し確認して,確実に理解しましょう。
SSH(Secure SHell)とは(安全なリモート操作プロトコル)
SSHは,遠隔地のコンピューターを,ネットワーク経由で遠隔操作するためのプロトコルです。暗号や認証技術を利用でき,安全性が確保されています。
※ SSHはアプリケーション層(OSI基本参照モデル)のプロトコルである
※ TCPのポート番号22を使用する
※ telnetやFTPなど,暗号化のしくみのないプロトコルに置き換わる,安全なプロトコルとして普及している
SSHのプロトコル構成(層と役割)
SSHトランスポート層プロトコルとは(暗号化と鍵交換)
SSHトランスポート層プロトコルは,下位に位置するプロトコルで,接続先の確認や,データの暗号化,データの圧縮(オプション)などを行います。
※ 通信で用いるセッション鍵(共通鍵)などを生成する。
SSH認証プロトコルとは(接続先とユーザーの認証)
SSH認証プロトコルは,中間に位置するプロトコルで,SSHトランスポート層プロトコルで作成された安全な通信路を使用して,クライアントの認証を行います。認証方式には,次のようなものがあります。
パスワード認証とは(基本的なユーザー認証)
ユーザーIDとパスワードで,クライアントを認証する方式。パスワードは暗号化されるため,安全
ホストベース認証とは(信頼ホストによるログイン)
サーバー側に信頼できるホストの名前を登録しておき,登録されているホストからの接続要求については,パスワードなどを要求することなくクライアントを認証する方式
公開鍵認証とは(公開鍵/秘密鍵による安全認証)
クライアントの認証に,公開鍵を用いる方式
※ クライアントは,事前に,自身の公開鍵をSSHサーバーに渡し,SSHサーバーは,それを検証する
※ ディジタル署名については,「認証-ディジタル署名 -情報処理シンプルまとめ」を参照
SSHコネクション(接続)プロトコルとは(セッションと操作)
SSHコネクション(接続)プロトコルは,上位に位置するプロトコルで,SSHコネクションを確立します。次のような機能を提供します。
- ログインセッションの実行
- コマンド(遠隔操作)の実行
- ポートフォワーディング
ポートフォワーディングとは(安全なトンネル転送)
ポートフォワーディングとは,SSHのポート番号22に届いたパケットを別のポートに転送する機能のことをいいます。この機能を利用することにより,他のアプリケーションにデータを転送することができます。
まとめ
今回は,SSHについてシンプルにまとめてみました。SSHのしくみや各プロトコル,認証方式やポートフォワーディングを理解し,安全なネットワーク操作の基礎を押さえましょう。
理解が進んだら,過去問題等にも挑戦してみてください。


