SSH接続のキーペアの作成&更新(最新の 4096 bit RSA 版)

技術

従来、SSHキーは 2048 bit での作成が主流だったので、現在もそのまま使い続けている人が多いと思いますが、セキュリティ上そろそろ 4096 bit へアップグレードしておくと良いでしょう。その手順を紹介します。置き換えだけでなく、新たにSSHを設定する際も下記と同じ手順です。

先ず 4096 bit RSA キーの作成方法ですが

$ ssh-keygen -b 4096

これをコマンドラインで実行します。質問される項目は、ファイル名とパスフレーズ(&再入力)の2種類だけです。基本はどちらもエンターで良いでしょう。

$ ssh-keygen -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/foo/.ssh/id_rsa): (エンター)
Enter passphrase (empty for no passphrase):(エンター)
Enter same passphrase again:(エンター)
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:uqWzrNSC89DAAKBu9xL4yGzR//+n5zW+CRYkkZ6smqo foo@local
The key's randomart image is:
+---[RSA 4096]----+
|+          ..    |
|o          ..    |
|o         o...   |
|.oo        +o    |
| =o+    S .  .   |
|+ =++. . .    .  |
| =+o+oo +    o o |
|.  =.oo*    .o+ o|
|   E+o*+...o=. +.|
+----[SHA256]-----+

これで、秘密鍵(id_rsa)と公開鍵(id_rsa.pub)のキーペアがホームディレクトリ下の .ssh ディレクトリ内に作成されているはずです。

次に作成した公開鍵を ssh-copy-id コマンドで、サーバ側のホームディレクトリの .ssh ディレクトリへコピーします。

$ ssh-copy-id -p 22 -i ~/.ssh/id_rsa foo@server

各自の変更箇所ですが "-p 22" はサーバ側のSSHで使用しているポート番号です。
(注:デフォルトでは 22/TCP を使うのですが、そもそもこのポート番号はセキュリティ上、変更しておくほうが良いでしょう)

次に "foo@server" の部分もユーザ名@サーバ名(IPアドレス)に置き換えてください。

コマンドを実行すると、サーバログイン時のパスワードを求められます。パスワードが認証されると公開鍵がサーバの .ssh ディレクトリへコピーされ、これで、ログインできる準備は整いました。

$ ssh -p 22 -i ~/.ssh/id_rsa foo@server

これでログインできる筈です。-p と -i オプションは省略可能なので、適時省略してください。

最後に注意点として、秘密鍵はサーバへコピーしないでください。そして秘密鍵は必ずバックアップを取っておきましょう。紛失したら管理者の作業が必要となるし、あなたが管理者ならばサーバにログインできなくなって一大事です。

ちなみに、今使っているキーペアが 2048 bit なのか 4096 bit なのか分からん!という方へそれぞれの公開鍵の例を示します。4096 bit の方はこれだけ長いので、短いなと思ったら更新しちゃいましょう。そもそも既に 4096 bit だったとしても、定期的にキーペアを変更するのがセキュリティ的にオススメです。

2048 bit RSA 公開鍵の例

ssh-rsa BBAAB3NzaC1yc2EAAAADAQABAAABAQCsbWBUOHkOKzXmqWVlWTWbGgU5ckeqJJaCUiOEvc0yyjjYCdfJozQts69OsYbIT/obRmDfyYK/8enmI9fD34Q0GAC2/0r8dMVVaO13X6iew6ETQIT6HM7v+Y+IqkYx5B+hWOtw7JGZ/eWd5gCn0N7w3OLFmwnmxEFKo0KoaHEzRRIUvMwTlSrxLYT3AB3T3E7WxVGX+F7M1cDpmXDsJKPU6ZI7W4XqZlQn2mxoKInbVDSv1c5RWz92lBaUPSvIFL0DXfS1kR94GB6RYb1RSOfoz9bAioBcXVmfTJ0GshxgMdRB5mrDrBlROzsLm4fHYNAXB2gT0nFaWhfaE0liCWTh foo@local

4096 bit RSA 公開鍵の例

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5pk1MuSJGQ8tdlRO+b0IHLMSwMH4uI9RWsUPWSbcJ6n8SqI452hdj9i0YZvC6H0Pmwh/4uIlTGaeSE4ZxCMEi6hAPkl87EqLAUho/0lsBPiA+n1eas5PwbSRYVnB2vFEx/L/MTjaCXELFtS5qvTN4GPGHw7WJAKXzjnTGNbmU7QGjHBSL/5k7szZrVMq7k7pmglBUTzUDwoChA3ZPGP/91kBXfffMZwJzW4tYHPMSFX/uVz00nwCzqayNLF3wOzWG0/l5IvcefadXWSj2kip2d4/2Sjg22qCEVpsjofyEfUO/5+FN5Nq88KZUtxZ9jEoxXOUtBmk4t1CVek+rLgvqzPGRiKpVSV9zVZE1M0QKuKbzhz7QtX8Ip7CRyahZ4tJAL/cX0YkLqFbxS6owHKKihS5FCXQSWSw5qHlzQ//b0HfQGHYwFyAkUKCaBLD7anm06QtwpRLuCGzCpOfBNa7+OSs3UVARvKU7GdZ5KVGnCiLCb5UxhtWw84uSACG0d08SdJPQmfO8/W/N+PX0MZfRCW82maM0aa8/75+HlRsPc+lu8+evw1MBNpyI5vKOMsUTERw2yEz7dGNGN988Jd23atjBnq33QWkkw6yxK3eO0AJMcJ01mSwLLG4dPg00HSZ8HOuOmrgU2HHCjF+YazQ0UreWLxFMxnhNtGYE+lIvyQ== foo@local

 

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました