SSHログインの鍵認証設定について
- blog
- 2026年2月4日
やぁみんな。
ジュークだよ。
今回は、UbuntuサーバーのSSH接続を鍵認証にしたよ。
設定したのはUbuntuサーバーのバージョン22.04.3だ。
それじゃぁ行ってみよー。
SSH鍵の生成
今回はTera Termを使って作業していくよ。
まずは、Tera Termを開いたら一度接続をキャンセルしてくれ。
メニューバーの設定からSSH鍵生成をクリックして…
鍵の種類は"ED25519"を選択して生成をクリックする。
そうすると、SSH公開鍵と秘密鍵が保存できるので、保存してくれ。
鍵認証にして、鍵が無くなるとサーバーへのログインができなくなるから無くさないよう注意が必要だ。
公開鍵と秘密鍵を保存したら一度、Tera Termを閉じる。
SSH公開鍵の設置
再度Tera Termを開いたら、“OK"をクリックしてログインしてくれ。
ログインの時に注意してほしいのが、“このホストをknown hostsリストに保存する(A)“のチェックを外して"続行"をクリックしてほしい。
その後は、普通にパスワード認証でログインする。
サーバーへログイン出来たら、先ほど保存した公開鍵をTera Termへドラックアンドドロップする。
そうすると上のようなダイアログが表示されるが、何もせずに"OK"をクリックだ。
次にサーバーへ放り込んだ公開鍵を.sshフォルダに移動するのだけど、元々.sshフォルダに入っているauthorized_keysのバックアップをとっておこう。
mv .ssh/authorized_keys .ssh/default_authorized_keys
id_ed25519.pubをリネームして.sshフォルダに移動させて…
sudo mv id_ed25519.pub .ssh/authorized_keys
ファイルとディレクトリの権限を変更しよう
sudo chmod 700 .ssh
sudo chmod 600 .ssh/authorized_keys
設定ファイルの変更
設定を変更する前に、最初からある設定ファイルのバックアップをとっておこう。
sudo cp /etc/ssh/sshd_config /etc/ssh/backup_sshd_config
設定ファイルを編集するぞ。
今回はエディタにviを使用しているけど、みんなの使いやすいエディタで編集してくれ。
sudo vi /etc/ssh/sshd_config
編集するのは以下の三点。
ポート番号、ルートログインの禁止、パスワード認証の禁止だ。
Port 1975
PermitRootLogin no
PasswordAuthentication no
設定ファイルを保存したらsshを再起動してくれ。
- Ubuntu 22の場合
sudo systemctl restart sshd
- Ubuntu 24の場合
sudo systemctl restart ssh
動作確認
Tera Termを開いて、いつも通りログインしてくれ。
この時も"このホストをknown hostsリストに保存する(A)“のチェックは外して…
今度は、パスワードではなく保存した秘密鍵を選択してログインしてみてほしい。
問題なくログイン出来れば、鍵認証設定の完了だ!