【Windows11】PowerShellの「ssh-keygen」でSSH鍵を作成する方法

Windows11のPowerShellコマンド「ssh-keygen」でSSH鍵を作成する方法を解説します。

OpenSSHの確認

Windows11でSSH鍵を作成するには、PowerShellとOpenSSHを利用する方法が一般的です。
Windows 11にはOpenSSHが標準で含まれていますが、念のため以下の手順でOpenSSHが入っているか確認しましょう。

① 「スタートボタン」を右クリックし、メニューから「ターミナル(管理者)」をクリックして、Powershellの画面を開きます。

② 以下のコマンドを実行します。

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

② OpenSSHが入っていれば、以下のような表示がされます。

Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

何も表示されない場合、OpenSSHがインストールされていないため、以下でインストールできます。

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

SSH鍵の作成

OpenSSHが入っていることが確認できたら、以下の手順でSSH鍵を作成します。

① 「C:\Users\ユーザー名」配下に「.ssh」フォルダがなければ作成します。
(※「.ssh」フォルダ内にSSH鍵のファイルを保管します)

② Powershellの画面で以下のコマンドを実行します。(※「ユーザー名」は適宜変更)

ssh-keygen -t ed25519 -C "user01@zbx_server" -f "C:\Users\ユーザー名\.ssh\id_ed25519_zbx_server"
オプション 意味
-t 鍵の種類(例:rsa, ed25519)。RSA鍵(特に2048bit以下)は現在ではEd25519よりも弱いとされる
-b ビット数(RSAのみ)
-C コメント | -C "user01@serverA"
-f 鍵ファイルの保存先。省略されるとデフォルト(C:\Users\<ユーザー名>\.ssh\id_rsa)になる
-N パスフレーズ(空なら -N "")。省略すると、コマンド実行後に「Enter passphrase (empty for no passphrase):」と聞かれ、対話式で入力する。

③ 対話形式でパスフレーズを2回聞かれますので、任意で決めたパスを入力して「Enter」キーを押します。

Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase): ←パスワードを入力
Enter same passphrase again: ←もう一度同じパスワードを入力
Your identification has been saved in C:\Users\ユーザー名\.ssh\id_ed25519_zbx_server
Your public key has been saved in C:\Users\ユーザー名\.ssh\id_ed25519_zbx_server.pub
The key fingerprint is:
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXX user01@zbx_server
The key's randomart image is:
+--[ED25519 256]--+
| +=*+... .       |
|=.XB*o  . o      |
|+O+O*+ . o       |
|o+E+..o o        |
|=*o . .oS        |
|oo.  . .         |
|..               |
|                 |
|                 |
+----[SHA256]-----+

④ 「C:\Users\ユーザー名.ssh」の中に秘密鍵と公開鍵が作成されていることを確認します。

  • 秘密鍵:id_ed25519_zbx_server
  • 公開鍵:id_ed25519_zbx_server.pub

通常、公開鍵の内容をコピーして、接続先ホストに登録します。

関連ページ

【Windows11】PowerShellでSSH接続(鍵認証)を行う方法
Windows11のPowerShellコマンド「ssh-keygen」でSSH鍵を作成する方法を解説します。
【VSCode】ラズベリーパイをRemote-SSHで接続して遠隔操作(Remote Development)
VSCode(Visual Studio Code)からRemote-SSH(Remote Development)でラズベリーパイを遠隔操作する方法について解説します。
【Mac】RaspberryPi 4をSSH接続して遠隔操作する方法
RaspberryPi4(ラズベリーパイ4)をMacのSSHから接続して操作する方法について紹介します。
【VSCode超入門】基本的な使い方から応用例まで解説
VSCode(Visual Studio Code)の基本的な使い方から応用例まで入門者向けに解説します。
Python超入門速報
【Windows超入門】初心者から上級者までテクニックを解説
Windowsの基本操作と設定基本操作Windowsの基本操作便利なショートカット大全集画面のカスタマイズカスタマイズWindows 11の右クリックメニューを昔のスタイル(Windows 10)に戻す方法Windowsを高速化・軽量化する...

コメント