
サーバー管理において、SSHのセキュリティ強化は非常に重要です。特にインターネット上に公開されたLinuxサーバーでは、デフォルト設定のままだとブルートフォース攻撃などのリスクに晒される可能性があります。本記事では、SSHの基本的なセキュリティ設定として、ポート番号の変更、公開鍵認証の設定、rootログインの禁止の3点について、手順と具体例を交えて解説します。
ポート番号を変更する
デフォルトの22番ポートを使い続けると、自動スキャンに引っかかりやすくなります。使用ポートを変更することで、無駄な攻撃を減らす効果があります。
手順:
- SSH設定ファイルを編集します。
sudo vi /etc/ssh/sshd_config
- 以下の行を探し、任意の番号(例:22022)に変更します。
- #Port 22
+ Port 22022
※22以外で未使用のポート番号を指定してください。
- ファイアウォールを更新します(UFW使用の場合):
sudo ufw allow 22022/tcp
- SSHサービスを再起動します。
sudo systemctl restart sshd
- 別ターミナルで新ポートに接続できることを確認してから、旧ポートを閉じます。
ssh -p 22022 ユーザー名@ホスト名
公開鍵認証を設定する
パスワード認証は総当たり攻撃に弱いため、公開鍵認証に切り替えることで安全性が向上します。
手順:
- ローカルPCで鍵ペアを作成:
ssh-keygen -t rsa -b 4096
→ ~/.ssh/id_rsa
(秘密鍵)と ~/.ssh/id_rsa.pub
(公開鍵)が生成されます。
- 公開鍵をサーバーにコピー:
ssh-copy-id -p 22022 ユーザー名@ホスト名
または手動で以下のように登録します。
cat ~/.ssh/id_rsa.pub | ssh -p 22022 ユーザー名@ホスト名 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
- SSH設定ファイルを編集し、パスワード認証を無効化:
sudo vi /etc/ssh/sshd_config
+ PubkeyAuthentication yes
- #PasswordAuthentication yes
+ PasswordAuthentication no
- SSHサービスを再起動:
sudo systemctl restart sshd
rootユーザーのSSHログインを禁止する
rootでの直接ログインは危険です。通常ユーザー経由でsudoするようにしましょう。
手順:
- SSH設定ファイルを編集:
sudo vi /etc/ssh/sshd_config
- #PermitRootLogin yes
+ PermitRootLogin no
- SSHサービスを再起動:
sudo systemctl restart sshd
- 必要に応じて、root権限を持つ一般ユーザーを追加しておきます。
sudo useradd -m secureuser
sudo passwd secureuser
sudo usermod -aG sudo secureuser
まとめ:SSHのセキュリティは基本設定から強化を
SSHのセキュリティ設定は、たった数手順で大きな防御力を発揮します。
- ポート番号を変更することで、無差別スキャンから逃れやすくなります。
- 公開鍵認証の導入は、パスワード漏洩のリスクを減らします。
- rootログインを禁止することで、不正アクセスを困難にします。
これらの対策は、SSHを公開しているサーバーであれば必須といっても過言ではありません。サーバー構築直後や運用前に、ぜひ一度見直しておきましょう。

Contact
ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい
ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。
デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。