SSH用の鍵の作り方もそろそろ覚えたい
先週、オレオレ証明書の作成方法をまとめながらそういえばSSHで使ってる鍵も調べるよなと思ったのでまとめておきます。
前提
Windowsに標準で入っているOpenSSHを使用します。
鍵の生成
速度及び、強度的にRSAより良いとされている?ED25519を使用した鍵を生成します。
ssh-keygen -t ed25519 -f ssh_key
パスフレーズを聞かれるので、必要であれば入力します。
出力されたssh_key
が秘密鍵、ssh_key.pub
が公開鍵のファイルとなります。
おまけ
クラウド環境用であれTerraformでインスタンスの設定と
同時に鍵の生成もしてあげた方が何かと便利なのでTerraformでの鍵の作成方法です。
# 秘密鍵 resource "tls_private_key" "private_key" { algorithm = "ED25519" } # 秘密鍵ファイル resource "local_file" "private_key_file" { filename = "${path.module}/ssh_key" content = tls_private_key.private_key.private_key_openssh } # 公開鍵ファイル resource "local_file" "public_key_file" { filename = "${path.module}/ssh_key.pub" content = tls_private_key.private_key.public_key_openssh }
こんな感じのtfファイルをapplyしてあげると秘密鍵と公開鍵のファイルが生成されます。
というか、まとめるほどでもないぐらいにシンプルだよなSSH鍵の生成って...