Ubuntu 23.04 openSSH SSH 鍵ペア認証を行う方法

環境
Ubuntu 23.04
OpenSSH

概要
クライアント用に SSH 秘密鍵、サーバー用に SSH 公開鍵を作成し、鍵ペアによる認証でログインできるようにします。

操作方法
1.鍵ペアはユーザー各々で作成します。鍵ペアを作成するユーザーでサーバー側にログインして作業します。

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): # 変更の必要がなければそのまま Enter
Enter passphrase (empty for no passphrase): # パスフレーズ設定 (空 Enterでノーパス設定)
Enter same passphrase again:
Your identification has been saved in /home/ubuntu/.ssh/id_rsa
Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub
....

ファイルを確認します

$ ll ~/.ssh
total 16
drwx------ 2 ubuntu ubuntu 4096 Apr 21 08:16 ./
drwxr-x--- 4 ubuntu ubuntu 4096 Apr 21 08:14 ../
-rw------- 1 ubuntu ubuntu 0 Apr 21 00:36 authorized_keys
-rw------- 1 ubuntu ubuntu 2655 Apr 21 08:16 id_rsa
-rw-r--r-- 1 ubuntu ubuntu 574 Apr 21 08:16 id_rsa.pub

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

2.サーバー側で作成した秘密鍵をクライアント側にファイル転送すると、
クライアントから対象サーバーに、鍵認証でログインできます。
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
サーバーで作成した秘密鍵を SCP で設定する

$ scp ubuntu@10.0.1.2:/home/ubuntu/.ssh/id_rsa ~/.ssh/
$ ssh ubuntu@10.0.1.2
Enter passphrase for key '/home/ubuntu/.ssh/id_rsa': # 設定したパスフレーズ

3.鍵認証にした場合、以下のように SSH サーバーへのパスワード認証を禁止すると、
セキュアな環境とすることができます。

# vi /etc/ssh/sshd_config
# 60行目 : コメント解除し、パスワード認証不可に変更する
PasswordAuthentication no

SSHを再起動します
# systemctl restart ssh

Ubuntu 23.04

Posted by arkgame