
LinuxC入門|SSHを利用したLinuxホストへの接続と認証のしくみ
Linuxホストを利用するとき、必ず理解しておきたいのが
「どのようにLinuxホストへ接続し、安全にログインするのか」という点です。
特にサーバー運用やクラウド環境では、直接キーボードや画面を触ることはほとんどなく、
ネットワーク経由で操作するのが当たり前になっています。
ここでは「SSHを利用したLinuxホストへの接続と認証のしくみ」をテーマに、
AlmaLinux 9.6 を例にしながら、
Linuxホストへの接続方法と、SSHによる安全な認証の考え方をやさしく説明していきます。
LinuC 101試験でもよく問われる内容なので、仕組みをイメージしながら読み進めてみてくださいね。
Linuxホストにログインして操作する方法には、大きく分けてローカル接続とリモート接続の2つがあります。
まずは、この違いを整理しておきましょう。
| 接続方法 | 内容 | 利用シーン |
|---|---|---|
| ローカル接続 | ホストの前に座って直接操作 | 物理サーバ、学習用PC |
| リモート接続 | ネットワーク経由で操作 | 仮想マシン、クラウド |
ローカル接続は、ホストが置かれている場所で直接キーボードやディスプレイを使って操作する方法です。
一方、リモート接続は、ネットワークを通じて離れた場所から操作します。
仮想マシンの場合は、ローカル接続・リモート接続のどちらも使えますが、
クラウド環境に構成したLinuxホストでは、リモート接続しか利用できません。
そのため、SSHによるリモート接続は、Linuxを扱ううえで欠かせない基本技術になります。
Linuxホストにリモート接続するとき、一般的に使われるのが SSH です。
SSH は Secure Shell の略で、暗号化技術を使ってクライアントとサーバー間の通信を安全に行う仕組みです。
Linuxでは、このSSHの仕組みを実装した OpenSSH が標準で利用されています。
OpenSSHを使うことで、通信内容を盗み見られたり、なりすましされたりするリスクを大きく減らすことができます。
SSH接続では、次のような複数の認証を組み合わせて安全性を確保しています。
- ホスト認証
- ユーザー認証(公開鍵認証、パスワード認証)
SSHの大きな特徴のひとつが、公開鍵暗号方式を利用した認証です。
これは、公開鍵と秘密鍵という2つの鍵を使って、安全に通信や認証を行う仕組みです。
| 鍵の種類 | 役割 |
|---|---|
| 公開鍵 | 接続先ホストに登録する鍵 |
| 秘密鍵 | 接続元ユーザーが安全に保管する鍵 |
送信側は受信者の公開鍵を使ってデータを暗号化します。
暗号化されたデータは、対応する秘密鍵を持っている受信者だけが復号できます。
この仕組みを使うことで、
「正しい秘密鍵を持っている=正当なユーザーである」
という判断ができるようになります。
SSHの公開鍵認証では、次のような流れで認証が行われます。
- 接続元のユーザーが秘密鍵を保持
- 接続先のLinuxホストに公開鍵を登録
- SSH接続時に暗号化された認証処理を実施
- 復号できれば認証成功
この方式を使うことで、パスワードをネットワークに流さずに認証できるため、
より安全なリモート接続が実現できます。
SSH接続では、ホスト認証とユーザー認証が順番に行われます。
全体の流れは次のようになっています。
| 手順 | 内容 |
|---|---|
| ① ホスト認証 | 接続先サーバーが本物か確認 |
| ② ユーザー認証 | 接続元ユーザーを確認 |
| ②-1 | 公開鍵認証 |
| ②-2 | パスワード認証 |
ホスト認証では、「接続しようとしているサーバーが正しい相手かどうか」を確認します。
この仕組みにより、なりすましサーバーへの誤接続を防ぐことができます。
ここで、SSH接続に関連する代表的なコマンドを見てみましょう。
参考文書に出てくる ssh -i の代わりに、
ここでは ssh-copy-id コマンドを使った例で説明します。
[suzuki@AlmaLinux ~]$ ssh-copy-id suzuki@remotehostssh-copy-id コマンドの書式
| 要素 | 説明 |
|---|---|
| ssh-copy-id | 公開鍵を接続先ホストへ登録する。 |
| ユーザー@ホスト | 接続先のユーザー名とホスト名 |
ssh-copy-id は何をするコマンド?
ssh-copy-id は、
自分の公開鍵を接続先Linuxホストにコピーし、公開鍵認証を設定するコマンドです。
このコマンドを使うことで、
手作業で authorized_keys を編集しなくても、安全に公開鍵を登録できます。
ssh-copy-id の主なオプション
| オプション | 説明 |
|---|---|
| -i 鍵ファイル | 使用する公開鍵ファイルを指定 |
| -p ポート番号 | SSHの接続ポートを指定 |
使用例
[suzuki@AlmaLinux ~]$ ssh-copy-id -i ~/.ssh/id_ed25519.pub suzuki@192.168.1.10この例では、指定した公開鍵を接続先ホストに登録しています。
登録が完了すると、次回以降はパスワード入力なしでSSH接続できるようになります。
SSHの仕組みは、図で見ると理解しやすくなります。

この図では、「どこに秘密鍵があり、どこに公開鍵が登録されているか」を表現しています。
このように、SSHを使ったLinuxホストへの接続と認証の仕組みを理解しておくと、
安全にリモート操作できるだけでなく、
クラウドや実務のLinux環境にもスムーズにつながっていきます。
