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