Linux 講座 / 新しいLinuxサーバー初期設定実習
新しいサーバーは、復旧コンソールを確保した後、管理権限を持つ一般ユーザーアカウントとSSHキーを検証し、更新・時間・必須ポート・再起動動作を確認する順序で準備します。初期設定の完了は、コマンド実行回数ではなく、新しいセッションや再起動後でも必要な管理・サービス機能が維持されているかで判断します。
アカウント作成と初期設定後は、SSHキーによるログインで新しいセッションを開き権限を確認し、ファイアウォールとアカウント保護を適用してください。コンソール接続および既存セッションを維持した状態で順番に検証します。
システム設定実習の基準は Ubuntu 26.04 LTS と Rocky Linux 9 系の一般インストール VM です。コンテナ・WSL・別のリリースでは、サービスやパッケージの構成が異なる場合があります。仮想マシン実習環境の作成で、コンソールの復旧とバージョン確認を最初に準備してください。
実習前にサーバーと復旧経路を確認する
この総合実習は、新たに作成した仮想マシンまたはテストサーバーで実施します。UbuntuとRocky Linuxのどちらかを選択し、管理者権限・コンソール接続・バックアップまたは再作成手順を確保してください。スナップショットは便利な復元手段ですが、同じストレージの障害や実行中のアプリケーションの整合性問題まですべて解決するバックアップではありません。
cat /etc/os-release
hostnamectl
ip -brief address
ip route
timedatectl
lsblk -f
ディストリビューション・ホスト名・IPアドレス・タイムゾーン・ディスクを記録し、誤ったサーバーを設定していないか確認します。IPアドレス、サービス名、デバイス名を他の実習からコピーして使用しないでください。クラウドが提供したイメージの場合、初期アカウントおよびcloud-initが管理する設定も確認します。
管理権限を持つ一般ユーザーアカウントを作成し、sudoを検証する
既存の管理アカウントが適切であれば再利用します。新しいアカウントが必要な場合、courseadminがまだ存在しないかをgetent passwd courseadminで確認します。次の最初のブロックはUbuntu用、2つ目はRocky Linux用であり、自分のディストリビューションのみ使用します。パスワードはpasswdプロンプトで入力し、コマンドラインに直接入力しないでください。
sudo adduser courseadmin
sudo usermod -aG sudo courseadmin
sudo useradd -m courseadmin
sudo passwd courseadmin
sudo usermod -aG wheel courseadmin
新しいターミナルで該当アカウントにログインした後、idとsudo -vを確認します。追加グループは既存のログインセッションにすぐ反映されない場合があります。sudoersを修正する必要がある場合は、visudoの構文チェックを使用し、既存の管理セッションを維持します。すべてのコマンドをパスワードなしで許可するポリシーを利便性のために追加しないでください。
SSHキーと接続経路を独立して検証する
クライアントで新しいキーを作成するか承認されたキーを選択し、サーバーのホスト鍵のフィンガープリント(指紋)を信頼できるコンソールで確認します。公開鍵のみ対象アカウントに登録した後、ssh -i "秘密鍵のパス" courseadmin@実際のサーバーアドレスで別途接続し、認証とsudoを試験します。ファイアウォール・認証ポリシーを変更する前にこの手順を通過する必要があります。
サーバーの実際のSSH待機ポートとクラウドセキュリティルールも確認します。パスワード認証制限は公開鍵認証・リカバリ経路の検証後に適用し、sshd -tで設定を検証した後、実際の新しい接続で確認します。既存の接続が維持されることと、新しい接続が許可されることは別です。
更新・時刻・ホスト情報を整理する
sudo apt update
sudo apt upgrade
sudo dnf upgrade
更新コマンドはディストリビューションに合ったものだけを実行し、提示されるパッケージ操作の内容を読み、承認します。サービスの再起動・カーネル変更・再起動の要求を確認し、SSH接続だけで終わらせず、使用中の機能も再度試してください。timedatectlでタイムゾーンと同期を確認し、必要なタイムゾーンが異なる場合は運用ポリシーに従い実際のIANAタイムゾーン名を選択します。
ホスト名を変更する場合はsudo hostnamectl set-hostname 実際のホスト名を使用しますが、DNS・hosts・証明書・管理システムとの関係を確認します。cloud-initや自動化が再び値を上書きするかどうかも点検します。外部の時刻サーバーへのアクセスが制限されている環境では、”同期有効”設定だけで実際の時刻が正しいと判断しません。
必須ポートのみを許可し、状態を記録する
Ubuntu UFWとRocky Linux firewalldのうち、実際に使用しているツールの現在の設定を確認します。実際の管理ポートをまず許可し、新しい接続を試した後、必要なサービスだけを追加します。IPv4とIPv6、ホストファイアウォールとクラウドファイアウォールを合わせて検討し、SELinuxは原因調査なしに無効化しません。
server-baselineがすでにある場合は別のディレクトリ名を選び、以前の基準記録を上書きしないでください。以下のパスも選んだ名前に合わせて変更します。
mkdir -p "$HOME/server-baseline"
chmod 700 "$HOME/server-baseline"
cat /etc/os-release > "$HOME/server-baseline/os-release.txt"
ip -brief address > "$HOME/server-baseline/addresses.txt"
lsblk -f > "$HOME/server-baseline/storage.txt"
systemctl --failed > "$HOME/server-baseline/failed-units.txt"
この資料はその後の変更と比較する基準であり、パスワード・秘密鍵・トークンは含みません。アドレスやデバイス情報も運用情報なのでアクセスを制限します。設定バックアップは別に保管し、復旧担当者が読める場所・方法を記録してください。
計画された再起動後に完了の可否を判断する
- 中断可能な時間とコンソールアクセスを確認し、必要なデータを保存します。
- sudo rebootで再起動した後、コンソールで起動状態を確認します。
- 新しいSSH接続とsudo、ネットワーク・時刻同期・必要サービス・マウントを確認します。
- systemctl --failedと現在のブートログを確認し、基準記録との違いを検討します。
再接続ができない場合は、コンソールで実際のアドレス・SSHの状態・待機ポート・ファイアウォールを順に確認します。同じ失敗を繰り返して複数の設定を一度に変更するよりも、最後に変更した内容を基準に復元します。管理機能が検証された後にのみ次のサービスのインストールを進めてください。




