とりあえず書いときますか。
振り返るためのメモを残す場所
Ubuntuに公開鍵暗号方式でsshする

Ubuntuに公開鍵暗号方式でsshする

背景

Ubuntu22.04に対して公開鍵暗号方式でsshしたいというリクエストありました。

その手順を調べたので、以下に記録します。

手順

公開鍵暗号方式の有効化

以下を編集する。

1
sudo vi /etc/ssh/sshd_config

有効にする。

1
PubkeyAuthentication yes

構文をチェック

1
sudo /usr/sbin/sshd -t

sudoをつけないと、以下のようなメッセージが出力される場合がある。

1
sshd: no hostkeys available -- exiting.

鍵の生成

1
ssh-keygen -t ed25519

以下のようなメッセージが出力されて、パスフレーズなどを聞かれるが、パスフレーズは入れない。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
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の作成

1
2
cd .ssh
cp id_ed25519.pub authorized_keys

秘密鍵をダウンロード

1
scp ubuntu@ik1-338-29121.vs.sakura.ne.jp:/home/ubuntu/.ssh/id_ed25519 ./

sshd_configの編集

1
sudo vi /etc/ssh/sshd_config

以下のコメントを外す。

1
2
3
HostKey /etc/ssh/ssh_host_ed25519_key

PasswordAuthentication no

構文チェック

1
sudo /usr/sbin/sshd -t

sshdの再起動

1
sudo service ssh restart

ログイン確認

1
ssh ubuntu@ik1-338-29121.vs.sakura.ne.jp -i ./id_ed25519