Ubuntu・DebianでSSHサーバーを有効にする
OpenSSHの導入、サービスとソケットの確認、鍵の登録、設定の反映を説明します。
接続先のコンソールでopenssh-serverを導入し、TCP 22の待受を確認します。Ubuntuにはssh.socketで待ち受ける構成があるため、サービスのactive表示だけで判断しません。
このページの内容
接続先のユーザーとOSを確認する
接続先のローカル端末かクラウドの管理コンソールで作業します。一般ユーザーのログイン方法とsudo権限を確認してください。クラウドのubuntuなどのユーザー名を、すべての環境で同じだとは考えないでください。
cat /etc/os-release
whoami
id
ip -br addrOpenSSH Serverを導入する
aptは公式に設定されたリポジトリから取得します。導入時にSSHが起動する場合があるので、外部公開VMではクラウド側の受信ルールを先に確認します。
sudo apt update
sudo apt install openssh-server
systemctl status ssh.service ssh.socket --no-pager
sudo ss -lntp使っている起動方式に合わせて有効化する
ssh.socketが存在し、ソケットで運用する構成なら、次のソケット用コマンドを使います。Ubuntu 24.04ではsshd_configのPort・ListenAddressをソケットへ反映する仕組みがあります。
ssh.socketが存在せず通常のサービスで運用するDebianなどでは、ソケット用コマンドを実行せず、sudo systemctl enable --now ssh.serviceを使います。両方式をまとめて有効・無効に切り替える必要はありません。
sudo systemctl enable --now ssh.socket
systemctl status ssh.socket --no-pager
sudo ss -lntp受信ルールと公開鍵を準備する
SSHの既定ポートはTCP 22です。UFWを使っているかはsudo ufw status verboseで確認し、未導入・無効なら別の管理方式を確認します。UFWを無条件に有効化しないでください。
公開鍵は実際にログインするユーザーのauthorized_keysへ登録します。既存のクラウド鍵がある場合は追記し、元の鍵を消しません。
設定を変更するときの確認
/etc/ssh/sshd_configとInclude先を確認します。多くの項目は先に読まれた値が使われるため、ファイル末尾への追記や99-という名前だけで上書きできるとは限りません。Match条件やcloud-init管理の設定にも注意します。
変更するファイルを日付付きでバックアップし、構文と実効値を確認します。下の-Tは全体設定の確認で、ユーザー・接続元ごとのMatch条件は-Cも指定して確認します。
sudo /usr/sbin/sshd -t
sudo /usr/sbin/sshd -T接続を残して設定を反映する
通常の認証設定変更は、構文確認に成功してからssh.serviceを再読み込みします。既存接続とコンソールを残し、別のターミナルで新規接続してください。
ソケット起動でPortやListenAddressを変える場合は、このreloadだけでは十分ではありません。Ubuntuの版ごとの手順でdaemon-reloadとソケット側の反映方法を確認してください。この初期設定ガイドではポート変更を扱わず、22で接続を確認します。
sudo /usr/sbin/sshd -t && sudo systemctl reload ssh.service参照した公式資料
資料確認日:2026年9月12日。公式資料と一般的な確認手順をもとに作成しています。すべてのOS・ルーター・ゲームの組み合わせを実機検証したものではありません。