背景
Ubuntu22.04に対して公開鍵暗号方式でsshしたいというリクエストありました。
その手順を調べたので、以下に記録します。
手順
公開鍵暗号方式の有効化
以下を編集する。
sudo vi /etc/ssh/sshd_config
有効にする。
PubkeyAuthentication yes
構文をチェック
sudo /usr/sbin/sshd -t
sudoをつけないと、以下のようなメッセージが出力される場合がある。
sshd: no hostkeys available -- exiting.
鍵の生成
ssh-keygen -t ed25519
以下のようなメッセージが出力されて、パスフレーズなどを聞かれるが、パスフレーズは入れない。
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_ed25519):
Created directory '/home/ubuntu/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ubuntu/.ssh/id_ed25519
Your public key has been saved in /home/ubuntu/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:KLWc+MfNKWklZl8LAP29dbFj0XQHVHJg8wyBbHNTZ7o ubuntu@ik1-338-29121
The key's randomart image is:
+--[ED25519 256]--+
| .. . oXB@|
| .. =.o%=|
| . .. o o..*|
| + + .. . .=.|
| o = S o .oE..|
| o + B +.. |
| . * = . |
| o . |
| |
+----[SHA256]-----+
authorized_keysの作成
cd .ssh
cp id_ed25519.pub authorized_keys
秘密鍵をダウンロード
scp ubuntu@ik1-338-29121.vs.sakura.ne.jp:/home/ubuntu/.ssh/id_ed25519 ./
sshd_configの編集
sudo vi /etc/ssh/sshd_config
以下のコメントを外す。
HostKey /etc/ssh/ssh_host_ed25519_key
PasswordAuthentication no
構文チェック
sudo /usr/sbin/sshd -t
sshdの再起動
sudo service ssh restart
ログイン確認
ssh ubuntu@ik1-338-29121.vs.sakura.ne.jp -i ./id_ed25519