Linuxサーバ

Ubuntu 24.04でSSH接続を安全に設定する方法|鍵認証+LAN内限定+ルーター設定

🔐Ubuntu 24.04でSSH接続を安全に設定する方法【鍵認証+LAN内限定】

Ubuntu 24.04でSSH接続を安全に構成したい方に向けて、以下の3点を満たす設定手順をわかりやすく解説します。

✅ 鍵認証方式(公開鍵・秘密鍵)を使う
✅ ユーザ名・パスワードによるログインは不可にする
✅ LAN内からの接続のみを許可(外部アクセス遮断)

🔰SSHと鍵認証のかんたん解説

🔸SSHとは?

SSH(Secure Shell)は、サーバに安全にリモート接続するための仕組みです。パスワードを使ったログインより安全な方法として「公開鍵認証方式」が使われます。

🔸公開鍵認証方式とは?

公開鍵と秘密鍵のペアを作成し、
- サーバに「公開鍵」
- 手元のPCに「秘密鍵」
を配置して、鍵が一致する場合のみ接続を許可する仕組みです。

これにより、「パスワードを盗まれて不正ログインされる」というリスクを大幅に下げることができます。

🛠SSHの鍵認証を有効にする設定手順(Ubuntu 24.04)

① 公開鍵・秘密鍵のペアを作成する

macOS/Linuxの場合:

ssh-keygen

~/.ssh/id_rsa(秘密鍵)と id_rsa.pub(公開鍵)が作成されます。

② 公開鍵をUbuntuサーバに登録

クライアントから以下のように送信します:

ssh-copy-id ユーザ名@サーバIPアドレス

または手動で ~/.ssh/authorized_keys に追記してもOKです。

③ パスワードログインを無効にする

以下ファイルを編集します:

sudo nano /etc/ssh/sshd_config

以下のように変更します:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PubkeyAuthentication yes

設定を反映させます:

sudo systemctl restart ssh

🔒UFWでLAN内以外からのSSH接続を遮断する

まずUFW(ファイアウォール)を有効化:

sudo ufw enable

自分のLAN内IP帯(例:192.168.1.0/24)だけを許可:

sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp

その他のSSHポートへのアクセスは禁止:

sudo ufw deny 22

状態確認:

sudo ufw status verbose

📡ルーター側の設定で「ポート22」の開放を無効にする

ルーターの管理画面(例:192.168.1.1など)にログインして、ポートフォワーディング(ポート開放)をしていないか確認してください。

  • 「外部→内部のポート22転送」がある場合 → 削除
  • UPnPでポートが自動開放される機種 → OFF推奨

✅設定後の確認方法

    1. 自宅LAN内の別端末からSSH接続できるか確認:
ssh -i ~/.ssh/id_rsa ユーザ名@192.168.x.x
  1. 外部ネットワーク(スマホのテザリングなど)から接続できないことを確認!

📝まとめ

  • 秘密鍵・公開鍵によるSSHログインに限定
  • パスワードログインは禁止にしてセキュリティ強化
  • ファイアウォールとルーター設定でLAN内に限定

これで、自宅サーバのSSH接続はかなり安全になります!

オススメの記事

-Linuxサーバ
-, , ,