Overview
SSH 公開鍵を作成し、接続先のサーバーに配布します。
秘密鍵と公開鍵を作成
SSH 鍵は ed25519 で作成します。現状では、一般的に RSA で作成されるケースが多いですが、特別な制約がなければ個人的には最新の ed25519 を推奨します。ed25519 についてはこちらも参照して下さい。鍵のコメントは、デフォルトで myadmin@ubuntu [ username@hostname ] となります。パスフレーズは空にしています。
myadmin@ubuntu:~$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/myadmin/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/myadmin/.ssh/id_ed25519
Your public key has been saved in /home/myadmin/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:EuTGOeMNOguh5jbkzaSe3yDsmmDBupuOALpkHI1q5nw myadmin@ubuntu
The key's randomart image is:
+--[ED25519 256]--+
| . |
| + . |
| . X |
|..o. + * |
|oB.oo o S |
|% B. o . |
|*/ +. |
|/=+Eo |
|@Oo. . |
+----[SHA256]-----+
myadmin@ubuntu:~/.ssh$ ls -l ~/.ssh
total 160
-rw------- 1 myadmin myadmin 411 Dec 6 20:20 id_ed25519
-rw-r--r-- 1 myadmin myadmin 97 Dec 6 20:20 id_ed25519.pub
-rw------- 1 myadmin myadmin 73227 Dec 3 17:46 known_hosts
公開鍵の配布
公開鍵を接続先サーバーに配布します。この公開鍵は接続先サーバーの ~/.ssh/authorized_keys に格納されます。これにより、次回からパスワード無しでログイン可能となります。
myadmin@ubuntu:~$ ssh-copy-id ubuntu1.si1230.com
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/myadmin/.ssh/id_ed25519.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
myadmin@ubuntu1.si1230.com's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'ubuntu1.si1230.com'"
and check to make sure that only the key(s) you wanted were added.
Ubuntu 22.04 SSH 公開鍵設定