🖥️

【1-5】【Proxmox VE 実践編】SSH接続からはじめるUbuntu Serverの必須初期設定

に公開

【Proxmox VE 実践編】SSH接続からはじめるUbuntu Serverの必須初期設定

前回の記事では、Proxmox VE上に仮想マシン(VM)をインストールし、コンソール画面からログインできることを確認しました。
https://zenn.dev/koikoi_infra/articles/13b32292c8b7b1
今回はその続きとして、いよいよご自身のPCからSSHでサーバーに接続し、本格的な運用に不可欠な初期設定を行っていきます。


1. SSHでの初回ログイン

まずは、インストール中に有効化したSSHサーバーに、作業PCから接続します。これ以降の作業は、すべてこのターミナル上で行います。

Step 1: サーバーに接続する

お使いのWindows PCでコマンドプロンプトを起動し、指定の形式でコマンドを実行します。

ssh <ユーザー名>@<サーバーのIPアドレス>

最初に接続する際、サーバーの信頼性を問われたらyesと入力し、次にパスワードを入力してログインします。


2. システムのアップデートとツールの導入

サーバー構築後、最初に行うべき最も重要な作業がシステムのアップデートです。これにより、セキュリティの脆弱性を塞ぎ、システムを最新の状態に保ちます。

Step 2: パッケージを更新する

Ubuntuのソフトウェア管理はaptコマンドで行います。これはサーバー管理で最も頻繁に使うコマンドの一つなので、意味をしっかり理解しておきましょう。

  1. パッケージリストの更新
    まず、インストール可能なソフトウェアの最新リスト(カタログ)をインターネット上からダウンロードします。

    sudo apt update
    
  2. パッケージのアップグレード
    次に、ダウンロードした最新リストを元に、現在システムにインストールされているソフトウェアをすべて新しいバージョンに更新します。

    sudo apt upgrade -y
    

    -yオプションは、途中で表示される「続行しますか? [Y/n]」という確認メッセージに対し、自動で「Yes」と答えるためのものです。アップグレードの実行中に、サービス再起動の確認画面(紫色の画面)が表示された場合は、既定値のまま<OK>を選択して進めてください。

Step 3: 便利な監視ツールを導入する

サーバーの状態を把握しやすくするために、定番のツールhtopをインストールしておきましょう。新しいソフトウェアを追加するにはapt installコマンドを使います。

sudo apt install htop -y

3. サーバーの状態を確認する

アップデートとツールの導入が完了したら、サーバーの現在の状態を確認してみましょう。

Step 4: リソースを確認する

  • ディスク使用量の確認:
df -h


Filesystem(どのパーティションか)、Size(合計サイズ)、Used(使用量)、Avail(空き容量)、Use%(使用率)が表示されます。特にルートパーティション(/)の使用率を確認します。

  • メモリ使用量の確認:
free -h


total(合計メモリ)、used(使用中)、free(空き)が分かります。

  • CPU・メモリのリアルタイム監視:
htop


CPUのコアごとの使用率、メモリとスワップ(仮想メモリ)の使用状況、実行中のプロセスが一覧で表示されます。(終了する際はqキーを押します)

補足:リソース確認の目安と対策

ここでは、各値がどうなっていたら注意すべきか、簡単な目安と考え方を紹介します。

  • ディスク (df -h):
    • 注意の目安: ルート(/)パーティションの使用率(Use%)が80%〜90%を超えてきたら、容量不足が近いサインです。
    • 対策: 不要なログファイルや古いパッケージを削除する、Proxmox VE側で仮想ディスクのサイズを拡張する、などの対応が考えられます。
  • メモリ (free -h):
    • 注意の目安: available(利用可能)なメモリが常に非常に少なく、Swap(スワップ)の使用量が増えている状態は、メモリ不足のサインです。
    • 対策: 不要なサービスを停止する、アプリケーションのメモリ設定を見直す、Proxmox VE側でVMに割り当てるメモリ量を増やす、などの対応が必要です。
  • CPU (htop):
    • 注意の目安: CPU使用率のバーが、特定の操作をしていないにも関わらず、長時間にわたって常に100%に近い状態が続く場合は、何らかのプロセスが暴走している可能性があります。
    • 対策: htopのリストをCPU%でソートし、どのプロセスがCPUを消費しているかを特定して、その原因を調査します。

4. SSHのセキュリティを強化する

パスワードでのログインは常に総当たり攻撃のリスクがあります。より安全な公開鍵認証に切り替えましょう。

Step 5: 公開鍵認証の仕組みを理解する

公開鍵認証は「鍵と鍵穴」の仕組みです。

  1. 【自分のPCで】 誰にも見せない「秘密鍵」と、対になる「公開鍵」のペアを作成します。
  2. 【サーバーに】 作成した「公開鍵」を設置します。これは「あなた専用の鍵穴」のようなものです。
  3. 次回以降、あなたのPCからSSH接続すると、持っている「秘密鍵」とサーバーに設置した「公開鍵(鍵穴)」が正しいペアであるかどうかが自動で認証されます。

これにより、正しい「秘密鍵」を持っていない第三者はログインできなくなり、セキュリティが飛躍的に向上します。

Step 6: 公開鍵認証を設定する

  1. 【作業PC側で】キーペアを作成:
    新しいターミナルをもう一つ開き、指定のコマンドを実行します。

    ssh-keygen
    

    保存場所やパスフレーズは、すべてEnterキーを押してデフォルトのままでOKです。作成されるキーの種類によって、ファイル名はid_rsa.pubid_ed25519.pubのようになります。

  2. 【作業PC側から】サーバーへ公開鍵をコピー:
    scp(Secure Copy)コマンドを使って、作成した公開鍵を作業PCからサーバーへ安全にコピーします。

    scp <公開鍵ファイルのパス> <ユーザー名>@<サーバーのIPアドレス>:~/.ssh/authorized_keys
    
  3. 接続テスト:
    サーバーから一度exitでログアウトし、再度指定のコマンドで接続してみてください。パスワードを聞かれずにログインできれば成功です。


まとめ

これで、SSHでのログイン、システムの最新化、そしてセキュリティの強化という、新しいサーバーで最初に行うべき必須の初期設定がすべて完了しました。サーバーは本格的なアプリケーションを動かすための、安全でクリーンな土台が整った状態です。

Discussion