手当たり次第に書くんだ

飽きっぽいのは本能

目次に戻る

Overview

SSH サーバーを設定します。

前提条件

  • こちらを参考にネットワーク設定が完了していること。
  • こちらを参考に APT のTUI 抑止設定が完了していること。

インストール

OS インストール時に SSH サーバーを有効化していればあらためてのインストールは不要ですが、インストールする場合は以下を実行します。ssh パッケージは openssh-client, openssh-server パッケージが含まれています。

myadmin@ubuntu:~$ sudo apt -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install ssh

openssh-client をインストールする場合は以下の通りです。

myadmin@ubuntu:~$ sudo apt -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install openssh-client

openssh-server をインストールする場合は以下の通りです。

myadmin@ubuntu:~$ sudo apt -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install openssh-server

/etc/ssh/sshd_config

SSH サーバーの設定ファイルは /etc/ssh/sshd_config です。

デフォルト値

デフォルト値は以下の通りです。

myadmin@ubuntu:~$ grep -v -e '^\s*#' -e '^\s*$' /etc/ssh/sshd_config | expand | tr -s [:space:] | sed 's/^\s/    /g'
Include /etc/ssh/sshd_config.d/*.conf
KbdInteractiveAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server

PermitRootLogin

PermitRootLogin は、root ログインを制御する設定です。デフォルトは prohibit-password が指定されており、これは root に対してのパスワード認証拒否と公開鍵認証を必須とする設定ですが、Ubuntu の推奨に基づくとroot パスワードは設定しないため、意識しなくても問題ない設定ではあります。あえて設定するとしたら、以下のように root ログイン自体を無効にすることも一つのアイデアだと思います。

PermitRootLogin no

PasswordAuthentication

PasswordAuthentication はパスワード認証を制御する設定です。デフォルトは yes であり、パスワード認証が有効です。一般的にパスワード認証は無効化が推奨されますが、その他の何らかの制限(アクセス可能なネットワーク制限など)がある環境においては、公開鍵の管理が煩雑なため、有効にしたままの状態であることも多いです。原則的に不特定多数のアクセスが想定される SSH サーバーではパスワード認証の無効化は必須と考えて良いでしょう。パスワード認証の無効化設定は以下の通りです。

PasswordAuthentication no

設定の有効化

設定を有効化します(設定を変更した場合)。

myadmin@ubuntu:~$ sudo systemctl restart sshd.service && systemctl status sshd.service

目次に戻る

Ubuntu 22.04 SSH サーバー設定

コメントを残す

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

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

トップへ戻る