手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 SSH client/server 設定

Ubuntu 26.04 認証・管理の関連記事

Ubuntu 26.04 の SSH 設定は、サーバー側の sshd 設定と、管理端末側の SSH client 設定を分けて考えると整理しやすくなります。鍵認証そのものは別記事で扱い、この記事では client/server の設定全体をまとめます。

実環境では構成管理で ~/.ssh/config/etc/ssh/sshd_config.d/ を管理していますが、ここでは手動で確認・設定・検証する場合の流れとして整理します。

この記事で整理すること
  • サーバー側の sshd_config.d と有効設定を確認する
  • sshd の基本設定例を確認する
  • 管理ネットワークだけパスワード認証を許可する例を整理する
  • クライアント側の ~/.ssh/config を作成・検証する
  • 設定変更後は sshd -t と別セッション確認を行う
対象 OSUbuntu 26.04
サーバー側設定/etc/ssh/sshd_config / /etc/ssh/sshd_config.d/*.conf
クライアント側設定~/.ssh/config
サーバー側検証sudo sshd -t / sudo sshd -T
クライアント側検証ssh -F ~/.ssh/config -G host
  1. 1
    サーバー側の現在設定を確認する
    drop-in と最終的に有効な sshd 設定を確認します。
  2. 2
    sshd 設定を追加する
    /etc/ssh/sshd_config.d/99-local.conf にローカル方針を書きます。
  3. 3
    sshd 設定を検証して反映する
    sshd -t で確認してから reload / restart します。
  4. 4
    クライアント設定を作る
    ~/.ssh/config に接続先、ユーザー、鍵をまとめます。
  5. 5
    別セッションで接続確認する
    現在の SSH セッションを閉じる前に、新しい接続で確認します。
参考
書籍
参考書籍

Advanced Ubuntu Administration and Management Best Practices

Ubuntu Server のSSH、認証、運用管理を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

サーバー側設定の場所

Ubuntu では /etc/ssh/sshd_config 本体だけでなく、/etc/ssh/sshd_config.d/ 配下の drop-in で設定を分けられます。ローカル運用方針は drop-in に分けると管理しやすくなります。

コマンド
sudo ls -l /etc/ssh/sshd_config /etc/ssh/sshd_config.d
sudo sshd -T | grep -Ei 'permitrootlogin|pubkeyauthentication|passwordauthentication|kbdinteractiveauthentication|x11forwarding|allowtcpforwarding|loglevel'
sshd -T は、最終的に有効になる設定を確認するためのコマンドです。ファイルに書かれている値だけではなく、include や既定値を含めた結果として確認できます。

sshd の基本設定例

次は、鍵認証を基本にし、rootログインやパスワード認証を制限する例です。実環境では、現在の接続経路と復旧手段を確認してから適用します。

設定ファイル例
sudo install -d -m 755 -o root -g root /etc/ssh/sshd_config.d

sudo tee /etc/ssh/sshd_config.d/99-local.conf >/dev/null <<'EOF'
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
UsePAM yes

X11Forwarding no
AllowAgentForwarding no
AllowTcpForwarding yes
PermitTTY yes

LoginGraceTime 30s
MaxAuthTries 3
MaxSessions 10
ClientAliveInterval 300
ClientAliveCountMax 2

LogLevel VERBOSE
PrintMotd no
AcceptEnv LANG LC_*
EOF
パスワード認証を無効にする場合は、鍵認証でログインできることを必ず別セッションで確認します。現在のSSHセッションを閉じてから気づくと復旧が面倒になります。

一部ネットワークだけパスワード認証を許可する例

通常は鍵認証を基本にしつつ、管理ネットワークから特定ユーザーだけパスワード認証を許可する設計もあります。これは救済経路として使えますが、許可範囲を広げすぎないことが重要です。

設定ファイル例
Match Address 192.0.2.0/24 User adminuser
  PasswordAuthentication yes

Match Address 2001:db8:100::/64 User adminuser
  PasswordAuthentication yes

公開インターネット全体に対してパスワード認証を許可するのではなく、管理ネットワークや踏み台など、前提を明確にして制限します。

設定を検証して反映する

sshd 設定を変更したら、構文確認をしてから反映します。

コマンド
sudo sshd -t
sshd -t が成功したことを確認してから反映します。遠隔作業では、現在のセッションを閉じずに別セッションで確認します。
コマンド
sudo systemctl reload ssh.service
systemctl status ssh.service --no-pager
sudo sshd -T | grep -Ei 'permitrootlogin|pubkeyauthentication|passwordauthentication'

クライアント側の設定例

管理端末側では ~/.ssh/config に接続先、ユーザー、鍵をまとめておくと運用しやすくなります。Ansible側でもこのファイルを検証して配置する設計にしています。

設定ファイル例
mkdir -p ~/.ssh
chmod 700 ~/.ssh

cat > ~/.ssh/config <<'EOF'
Host ubuntu26-web01
  HostName 192.0.2.10
  User adminuser
  IdentityFile ~/.ssh/id_ed25519_ubuntu26
  IdentitiesOnly yes
  ServerAliveInterval 60
  ServerAliveCountMax 3
EOF

chmod 600 ~/.ssh/config

クライアント設定を確認する

ssh -G を使うと、SSH client が最終的にどの設定を使うか確認できます。

コマンド
ssh -F ~/.ssh/config -G ubuntu26-web01 | sed -n '1,120p'
ssh ubuntu26-web01
ssh -v ubuntu26-web01

-v を付けると、どの鍵を試しているか、どの認証方式で進んでいるかが分かります。接続できない場合の切り分けに便利です。

確認観点

SSH の問題は、クライアント側、ネットワーク、サーバー側設定、認証情報のどこでも起きます。順番に切り分けると原因を追いやすくなります。

  • 名前解決やIP到達性に問題がないか
  • TCP 22 番へ到達できるか
  • クライアントが期待した秘密鍵を使っているか
  • サーバー側に公開鍵が正しく配置されているか
  • sshd の最終設定が意図通りか
  • ログに拒否理由が出ていないか
コマンド
ssh -v ubuntu26-web01
journalctl -u ssh.service --since today --no-pager

まとめ

Ubuntu 26.04 の SSH 設定は、サーバー側の sshd_config.d と、クライアント側の ~/.ssh/config を分けて管理すると整理しやすくなります。

設定変更時は sshd -t で検証し、既存の SSH 接続を残したまま別セッションで接続確認します。鍵認証、sshd の制限、client config をセットで管理することが安定運用につながります。

Ubuntu 26.04 認証・管理の関連記事
Ubuntu 26.04 SSH client/server 設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る