本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。
第17回|SSHとは?VPSに安全に接続する仕組み|やさしい UNIX & Linux

やさしい UNIX & Linux | 第17回
SSH の「仕組み」を理解する
第 16 回では、SSH 鍵認証の設定手順を確認しました。ssh-keygen で鍵を生成し、ssh-copy-id でサーバーに登録し、パスワード認証を無効にするという流れです。
この回では一歩引いて、SSH という仕組みそのものを整理します。「なぜ SSH を使うのか」「SSH は何を守っているのか」「鍵認証はどのような原理で安全なのか」という問いに答えることで、設定の意味がより明確になります。
SSH とは何か|Secure Shell の意味
SSH は Secure Shell(セキュア・シェル)の略です。「Shell」はコマンドを受け付けてサーバーを操作する環境のことで、「Secure」はそのやり取りが暗号化されて保護されていることを意味します。
Linux サーバーはマウスで操作する環境ではなく、コマンドを文字で入力して制御します。SSH は、そのコマンド操作をインターネット越しに安全に行うための通信プロトコルです。接続が確立すると、遠くにあるサーバーのターミナルが手元のパソコンに現れ、まるでそのサーバーの前に座っているように操作できます。
なぜ SSH が必要か|Telnet との比較
SSH 以前、サーバーへのリモート接続には Telnet(テルネット)が使われていました。Telnet はコマンドを送受信できますが、通信内容が暗号化されていません。ネットワーク上を流れるパケットを傍受されると、入力したパスワードやコマンドの内容がそのまま読まれてしまいます。
インターネットが世界に広がった 1990 年代、この問題は深刻になりました。1995 年にフィンランドの研究者 Tatu Ylönen がその解決策として SSH を開発・公開しました。通信をすべて暗号化するという設計により、Telnet が抱えていたセキュリティ上の弱点を解消しました。今日では Telnet はほぼ使われなくなり、リモート接続の標準として SSH が定着しています。
SSH が守る 3 つのこと
SSH は、通信において次の 3 つを保証します。
送受信されるすべてのデータは暗号化されます。途中でパケットを傍受されても、内容は解読できない形に変換されています。パスワードやコマンドの内容が第三者に見えることはありません。
接続先が本物のサーバーかどうかを確認します。初回接続時に表示される「fingerprint(フィンガープリント)」の確認がこれに当たります。また、サーバー側はユーザーが正規の利用者かどうかをパスワードまたは鍵で確認します。
通信の途中でデータが書き換えられていないかを検証します。送った内容とサーバーが受け取った内容が一致しているかを確認する仕組みが組み込まれており、経路上での改ざんを検知できます。
パスワード認証と鍵認証の違い
SSH の認証方式には、パスワード認証と鍵認証の 2 種類があります。
パスワード認証は、ユーザー名とパスワードの組み合わせで本人を確認する方法です。シンプルですが、自動化された総当たり攻撃(ブルートフォース)の標的になりやすく、パスワードが弱いと突破されるリスクがあります。
鍵認証は、数学的に対になった「公開鍵」と「秘密鍵」のペアを使います。公開鍵はサーバーに登録し、秘密鍵は自分のパソコンだけに保管します。接続時にサーバーは公開鍵で暗号化した「問題」を送り、クライアントが秘密鍵で解いて正解を返せた場合にのみ認証が通ります。秘密鍵はネットワークに流れないため、傍受されることがありません。第 16 回で設定した ssh-keygen による鍵ペア生成はこの仕組みを使っています。
なぜ VPS で SSH が使われるのか
VPS はモニターもキーボードも物理的には接続されていません。操作するにはネットワーク越しに接続する手段が必要です。そこで SSH が選ばれる理由は次の 3 点です。
- 軽量:グラフィカルな画面を転送しないため、低速な回線でも快適に操作できる
- 確実な接続:専用のポート(デフォルトは 22 番)を通じて、世界中どこからでも接続できる
- 安全:暗号化・本人確認・改ざん検知の 3 つが標準で備わっている
SSH はサーバー管理の入口として設計されており、Linux と非常に相性がよいツールです。コマンドラインで操作するという Linux の設計思想と、軽量なテキスト通信で接続する SSH の特性がよく一致しています。
まとめ|SSH は「安全に操作するための通路」
第 17 回で整理したポイントをまとめます。
- SSH とは:Secure Shell。コマンド操作をインターネット越しに安全に行うための通信プロトコル
- Telnet との違い:Telnet は暗号化なし。SSH は通信全体を暗号化して安全を確保する
- SSH が守る 3 つ:機密性(暗号化)・真正性(本人確認)・完全性(改ざん検知)
- 鍵認証の原理:公開鍵をサーバーに登録し、秘密鍵を手元に保管。秘密鍵はネットワークに流れないため安全
- VPS で SSH が選ばれる理由:軽量・確実・安全の 3 つが Linux の設計思想と合致している
SSH の仕組みを理解しておくと、第 16 回で行った設定の意味がより深く納得できます。「なぜパスワードより鍵認証が安全なのか」という問いに、自分の言葉で答えられるようになることが、この回の目標です。
次回予告
第 17 回では、SSH という仕組みの内側を整理しました。暗号化・本人確認・改ざん検知という 3 つの保証と、パスワード認証と鍵認証の違いです。
第 18 回では、SSH を使って実際にサーバーにログインする瞬間を体験します。コマンドを入力し、接続が確立したときに何が起きているかを確認しながら、「サーバーの中に入る」という感覚をじっくり押さえていきます。









