Advanced Ubuntu Administration and Management Best Practices
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
Ubuntu 26.04 でサーバーを管理する場合、SSH は最初に確認する管理入口です。単にログインできるだけではなく、管理ユーザー、公開鍵認証、sshd_config、接続元の制御、ログ確認までを一つの経路として扱います。
この記事では、OpenSSH Server の状態確認、公開鍵の配置、sshd_config.d による設定分離、構文検証、reload、接続できない場合の切り分けをまとめます。
- OpenSSH Server の状態確認
- 管理ユーザーの公開鍵配置と権限確認
sshd_config.dによる設定分離sshd -tで検証してから reload する手順- 接続できない場合のログ確認
| 対象 OS | Ubuntu 26.04 Server |
|---|---|
| サービス | ssh.service |
| 主な設定 | /etc/ssh/sshd_config、/etc/ssh/sshd_config.d/*.conf |
| 鍵ファイル | ~/.ssh/authorized_keys |
| 検証 | sudo sshd -t |
SSH 設定で決めること
SSH の設定では、誰が、どの認証方式で、どこから接続できるかを決めます。公開鍵認証を基本にし、パスワード認証や root login は必要性を確認してから扱います。
- 管理ユーザーを明確にする
- 公開鍵認証を基本にする
- root login は原則として無効にする
- 設定変更前に別の管理セッションを残す
- 変更後はログと接続確認を行う
OpenSSH Server を確認する
まず OpenSSH Server の導入状態、サービス状態、待ち受け、現在の設定を確認します。
dpkg -l openssh-server
systemctl status ssh.service --no-pager
ss -ltnp | grep ':22 '
sudo sshd -T | grep -E '^(port|permitrootlogin|passwordauthentication|pubkeyauthentication|authorizedkeysfile)'公開鍵を配置する
管理ユーザーの authorized_keys に公開鍵を配置します。ここでは例として myadmin を使います。実際のユーザー名と公開鍵に置き換えます。
sudo install -d -o myadmin -g myadmin -m 0700 /home/myadmin/.ssh
sudo tee /home/myadmin/.ssh/authorized_keys >/dev/null <<'EOF'
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAexamplepublickey myadmin@example
EOF
sudo chown myadmin:myadmin /home/myadmin/.ssh/authorized_keys
sudo chmod 0600 /home/myadmin/.ssh/authorized_keyssshd_config.d に設定を置く
Ubuntu では、個別設定を /etc/ssh/sshd_config.d/ に分けると管理しやすくなります。設定を置いたら、反映前に必ず sshd -t で検証します。
sudo tee /etc/ssh/sshd_config.d/10-server-basic.conf >/dev/null <<'EOF'
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no
AuthorizedKeysFile .ssh/authorized_keys
EOF
sudo sshd -t
sudo systemctl reload ssh.service別セッションで接続確認する
SSH 設定変更後は、現在の管理セッションを閉じる前に、別セッションで接続確認します。接続できることを確認してから古いセッションを閉じます。
ssh -o PreferredAuthentications=publickey myadmin@web01.example.local
ssh -vvv -o PreferredAuthentications=publickey myadmin@web01.example.localログを確認する
接続できない場合は、クライアント側の verbose 出力と、サーバー側の journal を合わせて確認します。鍵の権限、ユーザー名、接続元、sshd 設定を分けて見ます。
journalctl -u ssh.service --no-pager -n 100
sudo sshd -t
sudo sshd -T | grep -E '^(passwordauthentication|pubkeyauthentication|permitrootlogin|authorizedkeysfile)'
ls -ld /home/myadmin /home/myadmin/.ssh
ls -l /home/myadmin/.ssh/authorized_keys公開前の確認ポイント
ssh.serviceが起動しているsudo sshd -tが成功するauthorized_keysの owner と permission が適切である- 公開鍵認証で別セッションから接続できる
- パスワード認証と root login の扱いを決めている
- 接続失敗時に journal を確認できる
まとめ
Ubuntu 26.04 の SSH 接続設定では、OpenSSH Server の状態、管理ユーザーの公開鍵、sshd_config.d、構文検証、reload、別セッションでの接続確認を順番に行います。
SSH は管理入口なので、設定変更前に復旧経路を確保し、sshd -t とログ確認を必ず挟みます。公開鍵認証を基本にし、パスワード認証や root login は必要性を明確にしてから扱います。

