Ubuntu 26.04 LTSの導入(その8) SSHサーバーの導入と設定
-
導入状況の確認 Ubuntu 26.04 LTSの導入(その5) 導入の流れに従い導入した直後、SSHサーバーは下記の通り導入・起動されていません。
$ sudo systemctl status ssh Unit ssh.service could not be found. $ ps -ef | grep ssh kazukif 2459 2190 0 16:16 ? 00:00:00 /usr/libexec/gcr-ssh-agent --base-dir /run/user/1000/gcr kazukif 2461 2190 0 16:16 ? 00:00:00 /usr/bin/ssh-agent -Dssh-agent や gcr-ssh-agent(鍵を一時保持するクライアント側のツール)のみが表示されており、SSH サーバーの本体である sshd(または sshd.service)が起動していません。
-
SSHサーバー(OpenSSH Server)の導入 Ubuntu(Linux)上でSSHサーバー(OpenSSH Server)を構築・設定する手順を解説します。安全にアクセスできるよう、「インストール → ファイアウォール許可 → サービス起動 → セキュリティ設定」の順番で進めます。
-
インストール: Prerequisite
パッケージリストを更新し、OpenSSH Serverをインストールします。
sudo apt update sudo apt install -y openssh-server -
ファイアウォール(UFW)の許可 Safety
先ほど確認したUFWでSSH通信(ポート22)を許可してから、UFWを有効化します。
# SSHポートを許可 sudo ufw allow ssh # UFWが非アクティブの場合は有効化 sudo ufw enable -
サービス状態の確認 Verification
SSHサービスが起動し、自動起動が有効になっているか確認します。
active (running)と表示されていれば起動成功です。sudo systemctl status ssh -
セキュリティ設定の変更(推奨)
デフォルト設定のままでも接続できますが、セキュリティを高めるために設定ファイル(
/etc/ssh/sshd_configまたは/etc/ssh/sshd_config.d/配下のファイル)を編集することをお勧めします。設定を変更する場合は、設定ファイルを開きます。
sudo vi /etc/ssh/sshd_config-
主な推奨設定項目
- パスワード認証の無効化(鍵認証移行後)
公開鍵認証でログインできることを確認したら、パスワードによるログインを禁止します。
PasswordAuthentication no - root直接ログインの禁止
管理者(root)アカウントでの直接ログインを拒否します。
PermitRootLogin no - ポート番号の変更(ボット対策)
デフォルトの
22番ポートから別の番号(例:22222など)に変更すると、自動攻撃を大幅に軽減できます。(※ポートを変更した場合は、UFWでもsudo ufw allow 22222/tcpのように変更後のポートを許可してください)Port 22222
- パスワード認証の無効化(鍵認証移行後)
公開鍵認証でログインできることを確認したら、パスワードによるログインを禁止します。
-
設定の反映 設定ファイルを保存・終了したら、設定をリロード(再起動)します。
sudo systemctl restart ssh -
検証方法: 接続テストを行う際は、現在のSSHセッションは繋いだまま、別ウィンドウ(ターミナル)を開いて新規接続を試してください。設定ミスがあっても現在の接続が切れないため、安全に修復できます。
-
IPアドレスの確認(接続先情報) クライアント(PCや他端末)から接続する際に必要な、サーバーのIPアドレスを確認します。
ip a出力結果の中にある
inetの後に続く数値(例:192.168.1.10など)がIPアドレスです。クライアントからの接続コマンド例:
ssh <ユーザー名>@<サーバーのIPアドレス> ssh -p 22222 <ユーザー名>@<サーバーのIPアドレス> #ポート番号の変更している場合 -
💡 補足:毎回 -p を入力するのが面倒な場合 接続元のPC(手元の端末)の ~/.ssh/config ファイルに設定を書いておくと、次回からポート番号の入力を省略できます。
# 設定例 (~/.ssh/config) Host my-server HostName 192.168.1.1 User userid Port 22222この設定を追加しておくと、次回からは以下の短いコマンドだけで変更後のポートへ接続できるようになります。
ssh my-server
-
-
-