✍️blog

技術系のこととか

SSH用の鍵の作り方もそろそろ覚えたい

先週、オレオレ証明書の作成方法をまとめながらそういえばSSHで使ってる鍵も調べるよなと思ったのでまとめておきます。

sabiz.hateblo.jp

前提

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鍵の生成って...

via GIPHY