インフラエンジニアの羅針盤

インフラエンジニア1〜3年目のための技術ガイド

Linuxインストール手順・SSH鍵認証接続とX Window Systemの基礎【LinuC 101試験対策】

公開
,
LinuC Level 1 第05回 主題1.02 Linuxのインストールとパッケージ管理



LinuCレベル1(101試験)の出題範囲「主題1.01 Linuxのインストールと仮想マシン・コンテナの利用」より、「1.01.1 Linuxのインストール、起動、接続、切断と停止(重要度4)」および「1.01.5 デスクトップ環境の利用(重要度1)」を解説します。

Linuxサーバーを新規導入する際、ファームウェア(UEFIとBIOS)の違いやブートメディアの優先順位を理解し、計画的なパーティション分割と初期セットアップを行うことはシステム運用の第0段階です。また、現代のインフラ管理ではSSHによるリモート接続(公開鍵暗号認証)が標準運用となっており、安全な接続基盤の構築や、計画メンテナンス時の shutdown コマンド操作、さらにはX Window System(GUI転送)のアーキテクチャ理解が欠かせません。

本記事の到達目標

  • ファームウェア(UEFIとレガシーBIOS)の違いおよびブートメディア優先順位の概念を説明できる
  • システムの停止・再起動コマンド(shutdown, reboot, poweroff)の書式と時間指定、キャンセル手順を実行できる
  • SSH公開鍵暗号認証の仕組みを理解し、関連ファイル(authorized_keys, known_hosts, 秘密鍵)の配置とパーミッションを設定できる
  • セッションの安全な切断とログアウト(exit, logout, Ctrl+D)を操作できる
  • X Window System(X11)のクライアント・サーバーモデルと DISPLAY 環境変数、リモートGUI転送の原理を理解できる
  • LinuC 101試験の記述式問題(コマ問)で頻出するコマンド名やパスを正確に記述できる

検証環境情報

  • ディストリビューション:AlmaLinux 9.8 (Olive Jaguar)
  • カーネルバージョン:Linux 5.14.0-570.el9.x86_64
  • ファームウェア:UEFI (x86_64)
  • SSHサーバー:OpenSSH_8.7p1, OpenSSL 3.2.2
  • 検証ホスト:linuc-node01 (192.168.2.138)
目次
  1. 1. Linuxのインストールとシステム起動・停止
    1. 1.1 ファームウェアの役割(UEFI vs BIOS)とブートメディア優先順位
    2. 1.2 インストール時の基本パラメータ(言語・タイムゾーン・パーティション・アカウント)
    3. 1.3 システムの停止と再起動コマンド(shutdown, reboot, halt, poweroff)
    4. 1.4 shutdownコマンドのオプションと時刻指定構文(now, +m, hh:mm, -c)
  2. 2. SSHリモート接続とセッション管理
    1. 2.1 リモート接続のプロトコル変遷(TelnetからSSHへ)
    2. 2.2 SSH公開鍵認証の基本原理(秘密鍵と公開鍵)
    3. 2.3 SSH関連ファイルの配置とパーミッション要件(authorized_keys, known_hosts, id_rsa)
    4. 2.4 セッションの切断とログアウト(exit, logout, Ctrl+D)
  3. 3. デスクトップ環境とX Window Systemの基礎
    1. 3.1 X Window System(X11)とWaylandの全体像
    2. 3.2 Xのクライアント・サーバーモデル(画面側が「Xサーバー」である理由)
    3. 3.3 ディスプレイマネージャーと統合デスクトップ環境(GNOME, KDE, Xfce)
    4. 3.4 ネットワーク越しのGUI転送(DISPLAY環境変数とssh -X)
  4. 4. 実機ハンズオン演習:AlmaLinux 9でSSH鍵認証とGUI転送を体験
    1. 4.1 実機検証環境の確認
    2. 4.2 演習1:ssh-keygenによる鍵ペア生成と接続検証
    3. 4.3 演習2:shutdown コマンドによるスケジュール停止とキャンセル
    4. 4.4 演習3:DISPLAY環境変数の確認とリモートGUI接続設定
  5. 5. LinuC 101試験対策まとめとコマ問頻出チェック
    1. 5.1 コマ問(記述式)頻出キーワード一覧表
    2. 5.2 Ping-t演習へのブリッジ(対象分野と推奨学習順)
  6. 6. まとめと次回予告

1. Linuxのインストールとシステム起動・停止

1.1 ファームウェアの役割(UEFI vs BIOS)とブートメディア優先順位

PCやサーバーの電源を入れた際、最初にマザーボード上のROMから起動してハードウェアの初期化とOSの読み込みを行う低水準ソフトウェアを「ファームウェア」と呼びます。歴史的な「レガシーBIOS」と、現代の業界標準である「UEFI(Unified Extensible Firmware Interface)」の2種類が存在します。

項目 レガシーBIOS(Basic Input/Output System) UEFI(Unified Extensible Firmware Interface)
アーキテクチャ 16ビットリアルモード、レガシー仕様 32ビットまたは64ビットモード、モダン仕様
最大ディスク容量 2TBまで(MBRパーティションテーブルに依存) 2TB超の大容量ストレージに対応(GPTに依存)
ブートローダ格納場所 ディスク先頭セクタのMBR(512バイト) 専用の「EFIシステムパーティション(ESP: /boot/efi)」
セキュアブート 非対応 対応(署名のない未承認OSの起動を阻止)
実機判定法 /sys/firmware/efi存在しない /sys/firmware/efi存在する

OSインストール時には、ファームウェア設定画面(BIOS/UEFIセットアップユーティリティ)を開き、内蔵ストレージよりも「インストーラ用メディア(USBメモリ、外付けDVDドライブ、PXEネットワークブート)」の起動優先順位(Boot Priority / Boot Order)を上位に変更する必要があります。

1.2 インストール時の基本パラメータ(言語・タイムゾーン・パーティション・アカウント)

Linuxインストーラ(AlmaLinuxのAnaconda等)で行う主要な設計パラメータは以下のとおりです。

設計項目 設定内容・実務基準 LinuC試験での観点
言語・キーボード システム言語(日本語または英語)、キーボード配列(日本語106/109または英語101/104) 環境変数 LANG(例: ja_JP.UTF-8)に反映される
タイムゾーン 地域と都市(例: Asia/Tokyo、JST) /etc/localtime の参照先(/usr/share/zoneinfo/
パーティション構成 標準パーティションまたはLVM(論理ボリューム)。ESP(/boot/efi)、/boot/(ルート)、swap(スワップ領域)の分割 スワップ領域は物理メモリ不足時の退避領域
アカウント設定 システム管理者(root)のパスワード設定、および作業用一般ユーザーの作成と wheel(sudo)グループへの追加 初期インストール時にrootリモートログインを制限する運用が推奨される

1.3 システムの停止と再起動コマンド(shutdown, reboot, halt, poweroff)

Linuxシステムを停止・再起動するコマンドは複数存在しますが、実務およびLinuC試験において中心となるのが shutdown コマンドです。

コマンド 機能 主なオプション / 特徴
shutdown 安全にシステムをシャットダウン・再起動する(推奨標準) ログイン中のユーザーへ事前通知(壁通知)を送り、新規ログインを禁止した上で安全にプロセスを終了する
reboot システムを即座に再起動する 実質的に shutdown -r now または systemctl reboot と同等
poweroff システムを安全にシャットダウンし、マシンの電源を切断する 実質的に shutdown -h now または systemctl poweroff と同等
halt システムの全CPU処理を停止する(電源は切断されない場合がある) ハードウェアの停止処理

1.4 shutdownコマンドのオプションと時刻指定構文(now, +m, hh:mm, -c)

shutdown コマンドは、指定時刻のスケジューリングと、ログイン中の全ユーザーに対するメッセージ送信(ウォールメッセージ)が可能です。試験ではオプションと時刻指定の書式が頻繁に出題されます。

shutdown [オプション] [時刻指定] [通知メッセージ...]
要素 指定形式 動作内容 具体例
動作オプション -h(または -P システムを停止し、電源を切断する(halt / poweroff) shutdown -h now
-r システムを再起動する(reboot) shutdown -r now
-k 実際にはシャットダウンせず、警告メッセージの送信のみを行う(擬似テスト) shutdown -k +15 "テスト通知"
-c 現在予約されているシャットダウン処理をキャンセル(取り消し)する shutdown -c "メンテナンス延期"
時刻指定 now 「今すぐ(直ちに)」実行する shutdown -h now
+m 現在時刻から m 分後に実行する shutdown -r +10(10分後)
hh:mm 24時間表記の「指定時刻」に実行する shutdown -h 23:00(23時00分)

shutdown 時刻指定の省略禁止ルール

現代のsystemd環境では、時刻指定を省略して shutdown -h とだけ入力すると、デフォルトで「1分後(+1)」にシャットダウンがスケジュールされます。即時停止したい場合は、必ず now を明記する運用が基本です。

2. SSHリモート接続とセッション管理

2.1 リモート接続のプロトコル変遷(TelnetからSSHへ)

初期のUNIX/Linux環境では、リモート端末接続に「Telnet」や「rlogin」が使用されていました。しかし、これらは通信経路上のデータ(ユーザー名やパスワードを含む)が平文(暗号化されないテキスト)で流れるため、盗聴や改ざんに対して無防備でした。

現代では、通信内容全体を公開鍵暗号および共通鍵暗号で強力に暗号化する「SSH(Secure Shell)」がデファクトスタンダードとして標準利用されています。

2.2 SSH公開鍵認証の基本原理(秘密鍵と公開鍵)

SSHの認証方式には「パスワード認証」と「公開鍵認証」があります。公開鍵認証では、手元の端末で非対称暗号のペア(公開鍵と秘密鍵)を作成し、安全なログインを実現します。

鍵の種類 保管場所 公開可否 役割
秘密鍵(Private Key) 接続元(クライアントPC)の ~/.ssh/ 厳重に秘密保管(漏洩厳禁) サーバーから送信されたチャレンジ暗号に対して署名を生成し、本人証明を行う
公開鍵(Public Key) 接続先(リモートサーバー)の ~/.ssh/authorized_keys 誰に見せても安全(公開可能) クライアントが正当な秘密鍵を保持しているかを数学的に検証する
SSH公開鍵認証の接続モデルとファイル配置
図1:SSH公開鍵認証の接続モデルと各ファイルの配置・パーミッション要件

2.3 SSH関連ファイルの配置とパーミッション要件(authorized_keys, known_hosts, id_rsa)

SSHはセキュリティを最優先する設計となっているため、設定ファイルや鍵ファイルのパーミッションが緩い(他人が読み書きできる)場合、接続を拒否する仕様になっています。LinuC試験では、ファイルパスとパーミッション値が必須の出題事項です。

ファイル / ディレクトリ 配置場所 推奨パーミッション 役割・格納内容
~/.ssh/ クライアント / サーバー双方 700drwx------ SSH関連設定を格納する専用ディレクトリ
id_ed25519 / id_rsa クライアントPC側 600-rw------- クライアント本人の秘密鍵ファイル(他者読み取り禁止)
id_ed25519.pub / id_rsa.pub クライアントPC側 644-rw-r--r-- クライアント本人の公開鍵ファイル
~/.ssh/authorized_keys リモートサーバー側 600(または 644 このサーバーへのログインを許可されたクライアント公開鍵の一覧
~/.ssh/known_hosts クライアントPC側 644(または 600 接続先サーバーの「ホスト公開鍵」を記憶するファイル(中間者攻撃防止)
/etc/ssh/sshd_config リモートサーバー側 600 SSHデーモン(sshd)の全体動作設定ファイル

2.4 セッションの切断とログアウト(exit, logout, Ctrl+D)

リモートサーバーでの作業が完了した際、SSHセッションを正常に終了してログアウトする手段は以下のとおりです。

操作 対象 説明
logout ログインシェル ログイン時に起動したシェルを終了して切断する(非ログインシェルでは無効)
exit あらゆるシェル カレントシェルプロセスを終了する(サブシェルやSSHセッションから抜ける)
Ctrl + D キーボード入力 標準入力の終了(EOF: End of File)を送信し、シェルを終了する

3. デスクトップ環境とX Window Systemの基礎

3.1 X Window System(X11)とWaylandの全体像

Linux環境でGUI(グラフィカルユーザーインターフェース)を実現する伝統的な基盤ソフトウェアが「X Window System(バージョン11であることからX11とも呼ばれる)」です。また、近年では設計の近代化と高セキュリティ化を図った後継プロトコル「Wayland」への移行が進んでいます。

3.2 Xのクライアント・サーバーモデル(画面側が「Xサーバー」である理由)

X Window Systemのアーキテクチャで初学者が最も誤解しやすいのが、「クライアント」と「サーバー」の役割分担です。一般的なWebシステムとは物理的な位置付けが逆になります。

構成要素 物理的な配置場所 役割・機能
Xサーバー(X Server) 手元の端末(ローカルPC) ・ディスプレイへの描画出力
・キーボードやマウスからのユーザー入力を受け付ける
※「表示・入力のリソースを提供する側」であるためサーバーと呼ぶ
Xクライアント(X Client) リモートサーバー(計算機) ・ワープロやブラウザなどのGUIアプリケーション本体
・演算処理を行い、描画要求(「ここに四角を描け」等)をXサーバーへ送信する
X Window System のクライアント・サーバーモデル
図2:X Window System(X11)のクライアント・サーバーモデルとDISPLAY環境変数の関係

3.3 ディスプレイマネージャーと統合デスクトップ環境(GNOME, KDE, Xfce)

GUIシステムは、複数のソフトウェアが階層的に組み合わさって動作しています。

階層 / 要素 役割 代表的な実装ソフトウェア
ディスプレイマネージャー
(Display Manager)
グラフィカルなログイン画面を表示し、ユーザー認証を行ってデスクトップセッションを開始する ・GDM(GNOME Display Manager)
・LightDM
・SDDM(KDE用)
ウィンドウマネージャー
(Window Manager)
各ウィンドウの枠(タイトルバー、閉じるボタン)、位置移動、リサイズを制御する ・Mutter(GNOME標準)
・KWin(KDE標準)
統合デスクトップ環境
(Desktop Environment)
GUI操作に必要なファイルマネージャ、パネル、設定画面を統一デザインで提供するパッケージ ・GNOME(RHEL/AlmaLinux標準)
・KDE Plasma
・Xfce(軽量環境)

3.4 ネットワーク越しのGUI転送(DISPLAY環境変数とssh -X)

Xクライアント(リモートサーバー側)が、どの画面(Xサーバー)に描画を出力すべきかを指示するのが環境変数 DISPLAY です。

DISPLAY=[ホスト名]:[ディスプレイ番号].[スクリーン番号]

ローカルマシンの1番目の画面を指す標準値は :0.0(または localhost:0.0)となります。リモートサーバーのGUI画面を手元に安全に転送する場合、SSHの「X11フォワーディング機能」を活用します。

# クライアント側からX11転送を有効にしてSSH接続
ssh -X user01@linuc-node01
# または信頼されたX11転送
ssh -Y user01@linuc-node01

X11フォワーディングを確立すると、SSH内部で暗号化トンネルが敷設され、リモートサーバー側の DISPLAY 環境変数は localhost:10.0 のように自動設定されます。また、接続認証には xauth コマンドが管理する認証クッキー(~/.Xauthority)が利用されます。

4. 実機ハンズオン演習:AlmaLinux 9でSSH鍵認証とGUI転送を体験

4.1 実機検証環境の確認

手元のAlmaLinux 9環境で、ファームウェアのブート種別(UEFI)およびSSHの設定状態を確認します。

[user01@linuc-node01 ~]$ if [ -d /sys/firmware/efi ]; then echo "ブート方式: UEFI"; else echo "ブート方式: BIOS"; fi
ブート方式: UEFI

[user01@linuc-node01 ~]$ ls -ld ~/.ssh
drwx------. 2 user01 user01 29  9月  6 10:02 /home/user01/.ssh

4.2 演習1:ssh-keygenによる鍵ペア生成と接続検証

現代の推奨暗号アルゴリズムである「Ed25519」を用いてSSH鍵ペアを作成し、ファイルのパーミッションを確認します。

  1. Ed25519鍵ペアの作成
    [user01@linuc-node01 ~]$ ssh-keygen -t ed25519 -C "admin@example.com"
    Generating public/private ed25519 key pair.
    Enter file in which to save the key (/home/user01/.ssh/id_ed25519): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /home/user01/.ssh/id_ed25519
    Your public key has been saved in /home/user01/.ssh/id_ed25519.pub
  2. 生成された鍵のパーミッション確認
    [user01@linuc-node01 ~]$ ls -l ~/.ssh/id_ed25519*
    -rw-------. 1 user01 user01 411  9月  8 07:06 /home/user01/.ssh/id_ed25519
    -rw-r--r--. 1 user01 user01  99  9月  8 07:06 /home/user01/.ssh/id_ed25519.pub

    秘密鍵(id_ed25519)が 600、公開鍵(id_ed25519.pub)が 644 で作成されていることを確認します。

  3. 公開鍵のサーバー側への登録(模倣):自身の公開鍵を authorized_keys に追加登録します。
    [user01@linuc-node01 ~]$ cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
    [user01@linuc-node01 ~]$ chmod 600 ~/.ssh/authorized_keys

4.3 演習2:shutdown コマンドによるスケジュール停止とキャンセル

システムのメンテナンスを想定し、15分後のシャットダウン予約と、その取り消し(キャンセル)を行います。

  1. シャットダウンのスケジュールと警告メッセージ送信
    [user01@linuc-node01 ~]$ sudo shutdown -h +15 "システムメンテナンスのため停止します"
    Shutdown scheduled for Tue 2026-09-08 07:21:26 JST, use 'shutdown -c' to cancel.
  2. シャットダウン予約のキャンセル
    [user01@linuc-node01 ~]$ sudo shutdown -c "メンテナンスは延期されました"

    ログイン中の全ターミナルにキャンセル通知が送られ、停止処理が安全に取り消されます。

4.4 演習3:DISPLAY環境変数の確認とリモートGUI接続設定

CUIサーバー環境における DISPLAY 環境変数の状態を確認し、X11フォワーディング時の挙動を把握します。

[user01@linuc-node01 ~]$ echo "DISPLAY: [$DISPLAY]"
DISPLAY: []

GUIデスクトップのない標準サーバー環境では DISPLAY は空値となっています。手元のPCから ssh -X で接続した場合、この変数に localhost:10.0 などの仮想ディスプレイが割り当てられ、X11プロトコルのトンネリングが可能になります。

5. LinuC 101試験対策まとめとコマ問頻出チェック

5.1 コマ問(記述式)頻出キーワード一覧表

出題区分 コマンド / パス / 変数 出題の論点・記述ポイント
即時シャットダウン shutdown -h now 電源OFF(-h)と即時指定(now
即時再起動 shutdown -r now(または reboot 再起動オプション -r
停止予約キャンセル shutdown -c キャンセルオプション -c
鍵ペア生成コマンド ssh-keygen ハイフンを含むコマンド名(鍵種別指定は -t
サーバー側公開鍵ファイル ~/.ssh/authorized_keys 複数形の keys、アンダースコアを含む綴り
接続先ホスト鍵記録先 ~/.ssh/known_hosts 複数形の hosts、アンダースコアを含む綴り
X11フォワーディング ssh -X(または ssh -Y 大文字の -X オプション
X画面指定環境変数 DISPLAY すべて大文字(書式: host:display.screen
X認証管理コマンド xauth 認証クッキーファイル ~/.Xauthority の管理
ESPマウントポイント /boot/efi UEFIブート用パーティションの格納パス

5.2 Ping-t演習へのブリッジ(対象分野と推奨学習順)

  1. 「主題1.01 Linuxのインストールと仮想マシン・コンテナの利用(1.01.1 Linuxのインストール、起動、接続、切断と停止)」の未出題問題を解き、UEFI/BIOSの違いと shutdown オプションを完全に覚える
  2. SSH関連ファイル(authorized_keys, known_hosts, id_rsa)の役割とパーミッション(700, 600)に関する問題を反復演習する
  3. 「主題1.01 Linuxのインストールと仮想マシン・コンテナの利用(1.01.5 デスクトップ環境の利用)」の問題を解き、Xサーバー/Xクライアントの役割分担と DISPLAY 環境変数の書式を定着させる
  4. Ping-tの「コマ問道場」を活用し、shutdown -h now, authorized_keys, known_hosts, ssh-keygen などを直接キーボードから誤字なく入力できるようにする

確認演習問題 1

システム管理者として、現在時刻から20分後にシステムを安全に再起動し、同時にログイン中のユーザー全員へ「Kernel update reboot」という通知メッセージを送りたい。実行すべき適切な shutdown コマンドをオプションと引数を含めて記述しなさい。

解答と解説を見る

正解: shutdown -r +20 "Kernel update reboot"

解説: 再起動を指定するオプションは -r です。指定分後の時間指定は +m の形式を用い、20分後であれば +20 と記述します。末尾に空白で区切って壁通知メッセージを指定します。

確認演習問題 2

SSH公開鍵暗号認証において、接続元クライアントからのログインを許可するために、リモートサーバー側のユーザーホームディレクトリ配下に作成・配置すべき公開鍵リストのファイル名を絶対パス(チルダ ~ を含むパス)で記述しなさい。

解答と解説を見る

正解: ~/.ssh/authorized_keys

解説: サーバー側でクライアントの公開鍵を登録するファイルは ~/.ssh/authorized_keys です。パーミッションは 600 が推奨されます。クライアント側で接続先サーバーのホスト鍵を記憶するファイルは ~/.ssh/known_hosts です。

6. まとめと次回予告

本記事では、Linuxのインストールにおけるファームウェア(UEFIとBIOS)の役割、shutdownreboot による安全な停止・再起動制御、SSH公開鍵認証の通信モデルと関連ファイルのパーミッション要件、およびX Window System(X11)のクライアント・サーバー関係とリモートGUI転送を解説しました。

サーバー構築の起点となるこれらの知識は、現場での実機セットアップやリモート管理において初日から直面する必須スキルです。

次回は、最新Version 10.0で大きく出題が強化されたモダンインフラの最重要分野「仮想マシンとコンテナの概念・基本操作(KVM/Docker)【主題1.01 (1.01.2)】」を取り上げます。ハイパーバイザー型仮想化とOSレベル仮想化(コンテナ)の決定的なアーキテクチャ差分、KVM仮想マシンの操作(virsh)、およびDockerコンテナの基本ライフサイクル(docker run, docker ps, docker images)を学習します。

前の記事
次の記事