Windows で SSH キーを生成する 3 つの方法

公開: 2023-11-19

現在のネットワークやホーム ネットワーク上にないリモート サーバーにアクセスして、クラウド コンピューティングを介して作業を行っている場合は、おそらく SSH またはセキュア シェル キーについてすでによく知っているでしょう。 SSH キーは従来のユーザー名とパスワードの組み合わせよりも何倍も安全であるため、リモート サーバーに依存するワークステーションにアクセスするためによく使用されます。 SSH キーを使用すると、サーバーへのログインを許可された従業員やその他のユーザーに簡単かつ安全なアクセスが提供されます。

generate ssh keys on windows

SSH キーのもう 1 つの利点は、複雑な手順を必要とせずに数分で作成できる迅速な作成です。 これらはすべて、単純な Windows コンピュータで実行できます。それがまさにこの記事で説明する内容です。 さあ行こう!

目次

SSH Keygen とは何ですか?

SSH keygen は、従来のユーザー名とパスワードによるアクセスの、より洗練され、より安全なバージョンと考えることができます。 SSH キーは、異なるアルゴリズムを使用してユーザーごとに個別に生成され、データ保護を確保するために高度にランダム化されています。

SSH keygen は通常、クラウド サーバーに安全にアクセスするために使用されます。 ただし、データセンターや企業など、他の職場でも使用して、ユーザーや従業員にアクセスを許可することもできます。 Keygen の作成は、以下に説明する 3 つの方法を使用して Windows マシン上で実行できます。

SSH Keygen はどのように機能しますか?

SSH キーの作成方法を学ぶ前に、SSH キーがどのように機能するかを簡単に理解しておくことが重要です。 SSH キーを生成するときは、基本的に、公開キーと秘密キーのペアを作成します。 名前が示すように、秘密キーは他の人と共有すべきではありません。

一方、公開キーは、雇用主であっても会社であっても、相手のサーバー上にあります。 このようにして、公開キーと秘密キーは、アクセスするコンピュータと中央サーバーとの間の接続を確立し、相互に通信することができます。 ロックとキーが一致すると、アクセスが許可されます。

コマンドプロンプトを使用して SSH キーを生成する

Windows コマンド プロンプトはデフォルトでシステムに組み込まれているため、このような作業を行うのに最適な方法です。 SSH キーの作成には、せいぜい数ステップが必要であり、追加のツールは必要ありません。

Windows 11 にはデフォルトで Windows Terminal が付属していますが、古いバージョンを使用している場合は、Microsoft Store からダウンロードすることをお勧めします。 コマンド プロンプト、Windows PowerShell、Linux 用 Windows サブシステムを実行できると同時に、よりクリーンでユーザー フレンドリーなインターフェイスを提供します。

  1. Windows キーを押して、 「ターミナル」を検索します。 コマンド プロンプトをネイティブに使用して続行するには、代わりにcmdを検索してください。
    open windows terminal
  2. ssh-keygenと入力し、 Enterを押します。
    type ssh keygen
  3. 選択した保存パスと保存するファイルの名前を入力するよう求められます。 最初のポイントをスキップして、キーを PC のデフォルトの場所 (通常は C ドライブ) に保存できます。 心配しないで; ファイルの場所がその横に表示されます。
    enter location pathway
  4. 追加の保護のためにパスフレーズの入力を求められます。 繰り返しますが、パスフレーズを使用してキーを保護することはできませんが、パスフレーズを使用しないことを強くお勧めします。 次にEnterキーを押します。
    enter passphrase
  5. 確認のためにパスフレーズを再度入力します。
    enter passphrase again to confirm it
  6. キーが生成され、指定された場所に保存されたことを示す確認メッセージが表示されます。
    the generated ssh keys

デフォルトでは、Windows 11 は 2048 ビット RSA アルゴリズムに従うキーを生成します。 ただし、別のアルゴリズムに基づく SSH キーが必要な場合は、2 番目の手順の最初のコマンドの後に-t (アルゴリズムの名前)を追加します。 たとえば、GitHub では ed25519 アルゴリズムの使用を推奨しているため、 ssh-keygen -t ed25519 と入力してそれぞれのキーを生成する必要があります。

ed25519 algorithm

さらに、指定した場所に 1 つだけではなく 2 つのファイルが保存されます (1 つは拡張子なし、もう 1 つは拡張子 .pub 付き)。 名前が示すように、 .pub拡張子の付いたファイルは公開キーであり、拡張子のないファイルは生成された SSH キーの秘密キーです。 もちろん、秘密キーを他の人と共有してはいけません。

pair of ssh keys generated

WSL を使用して SSH キーを生成する

Linux のやり方を使いたい場合は、Windows Subsystem for Linux が最適です。 プロセスは多かれ少なかれ似ていますが、Linux の世界に精通している人にお勧めします。 そうでない場合は、最初の方法に固執する必要があります。

前提条件として、Windows 10 PC に Windows Subsystem for Linux (WSL) が必要です。これは Microsoft Store からダウンロードできます。 組み込みの Windows ターミナルはアプリ内で WSL コマンドを実行するために十分にサポートされているため、Windows 11 ユーザーは WSL ツールをダウンロードする必要はありません。 前述したように、古いバージョンの Windows を使用している場合は、Microsoft Store から Windows Terminal をダウンロードできます。

  1. Windows ターミナルを開きます。 あるいは、WSL 内でコマンド プロンプト ウィンドウを開くこともできます。
    open windows terminal
  2. 最初の方法とは異なり、生成するキーのアルゴリズムを指定する必要があります。 たとえば、RSA-4096 キーを生成するには、 ssh-keygen -t rsa -b 4096 “[email protected]と入力してEnterを押します。 簡単に識別できるように、電子メール アドレスを入力することが不可欠です。 Windows ターミナルを使用してキーを生成している場合は、Windows が PC の名前とユーザー名を自動的に取得するため、この作業はスキップできます。
    enter wsl command
  3. 保存するファイルの場所を入力し、必要に応じてパスフレーズを入力します。 Enterを押すと、デフォルトをそのまま使用することを選択できます。
    enter passphrase
  4. パスフレーズをもう一度入力して確認し、 Enterを押します。
    confirm your passphrase

PuTTY を使用して SSH キーを生成する

長年にわたり、PuTTY はサーバーとコンピューター間の通信を確立するための最良のソリューションでした。 SSH クライアントは今でも使用されていますが、それほど普及していません。 それにもかかわらず、PuTTY は依然として有能な SSH キー生成ツールであるため、何らかの理由で上記の方法が失敗した場合は、試してみることができます。 続行する前に、Windows 用の PuTTY クライアントをダウンロードしてセットアップします。 PuTTY は Microsoft Store からダウンロードすることもできます。

  1. Windows キーを押してPuTTYgenを検索します。 それを開く
    open puttygen client
  2. 生成する SSH キーのタイプを選択する必要があります。 必要なキーのタイプを選択し、 「パラメータ」セクションにビット値を入力します。 たとえば、 RSA-4096タイプのキーを作成するには、 「RSA 」を選択し、 「4096」と入力します。 EdDSAタイプは、その横にあるドロップダウン メニューを使用してさらに構成し、 255 ビットEd25519タイプのキーを組み込むことができます。
    enter ssh key parameters
  3. 「生成」を選択します。
    generate ssh keys
  4. PuTTY ジェネレーターは、キーのランダム性を高めるためにカーソルを空の領域にランダムに移動するように要求します。これにより、キーの強度が増加します。
    create randomness by moving cursor
  5. キーが生成されたら、パスフレーズを指定できます。 次の入力フィールドにパスフレーズを再度入力して、パスフレーズを確認します。
    set a passphrase
  6. 「公開キーを保存」をクリックして、選択した場所に公開キーを保存します。 ファイル名の末尾には拡張子.pubが付いている必要があります。
    save public key
  7. [秘密キーの保存] をクリックして秘密キーを保存します。 パスフレーズを設定しない場合は、警告が表示されます。 関係なく続行するには、 「はい」を選択します。
    save private key

デフォルトの秘密キーは、PuTTY 独自のクライアントでのみ機能することに注意してください。 したがって、ワークステーションが PuTTY クライアントで動作しない場合は、ユニバーサルな互換性を確保するためにOpenSSH形式でエクスポートするのが最善です。 これを行うには、最後のステップで「変換」を選択し、 「OpenSSH キーのエクスポート」をクリックします。

複数のキーを生成するにはどうすればよいですか?

異なるサーバーにログインするために複数の SSH キーが必要な場合は、複数のキーを簡単に生成できます。 これを行うには、上記のプロセスのいずれかを繰り返して、さらに SSH キーを作成します。ただし、混乱を避けるために、ファイル名に適切なラベルを付けるか、一意の名前で保存することを忘れないでください。 キーのパスフレーズを忘れないように、ベスト無料パスワード マネージャーを参照して、生成されたキーのパスフレーズを保存してください。

新しい PC に切り替える場合は、キーを手動で転送する必要があることに注意してください。 そうしないと、サーバーや場所にアクセスできなくなります。 新しい PC でいつでも新しいキーを生成できますが、すでに広範なキー ライブラリがある場合、これは面倒です。

SSH キーを簡単に生成する

以上です、皆さん! SSH キーの生成プロセスは簡単で、Windows ターミナルなどの公式の統合プラットフォームのおかげで、別のアプリやソフトウェアをダウンロードする必要さえありません。 WSL や PuTTY などの他のプラットフォームも同様に使いやすく、効果的です。 キーのパスフレーズを忘れずに、他の人と共有しないようにしてキーを安全に保管してください。

SSH Keygen に関するよくある質問

1. SSH keygen とは何ですか?

SSH keygen は、従来のユーザー名とパスワードの組み合わせを最新のものに置き換えるものです。 技術的には、SSH キーは、リモートのクラウド プラットフォーム、サイト、サーバーにアクセスするために生成、照合、および使用される仮想キーです。 これは 2 つのキー (公開キーと秘密キー) で構成され、最初のキーはサーバー上に存在し、2 番目のキーは適切に一致した場合にアクセスを許可します。

2. パスフレーズを指定する必要がありますか?

いいえ、デフォルトでは、SSH キーの作成にパスフレーズは必要ありません。 ただし、SSH キーは機密性が高く、簡単に悪用される可能性があるため、安全に保管する必要があります。 覚えておいてください: 作成する SSH キーの数が増えるほど、それぞれについて覚えておく必要があるパスフレーズも増えます。

3. 1 つの SSH キーに対して 2 つのファイルが生成されるのはなぜですか?

各 SSH キーは、関連するファイルのペアで構成されます。 1 つは拡張子 .pub が付き、もう 1 つは拡張子がありません。 公開キーはロックのように機能し、ログイン先の中央サーバーに送信されます。一方、秘密キーは、目的のページにアクセスするための文字通りのキーとして使用されます。

4. Linux に慣れている場合、SSH キーを生成するにはどうすればよいですか?

Windows Subsystem for Linux (略して WSL) を使用すると、SSH キーのネイティブ生成が可能になります。 さらに、WSL コマンドをサポートする Windows ターミナルを使用して、Linux スタイルのキーを作成することもできます。 いくつかの追加手順を計画する必要があるかもしれませんが、きめ細かな制御と Linux に精通することでさらなるメリットが得られます。

5. 新しい PC にアップグレードする場合、SSH キーを転送するにはどうすればよいですか?

新しい PC にアップグレードしていて、SSH キーを転送したい場合、方法は 1 つだけあります。新しい PC に手動で転送する必要があります。 これを忘れると、生成されたキーは完全に削除されます。 多数の SSH キーを含む広範なライブラリがない場合は、新しい PC にいつでも新しいキーを作成できます。

6. その後、SSH キーをどのように見つけますか?

Windows ターミナルでも WSL でも、作成した SSH キーの正確な場所が表示されます。 確認せずにプログラムを終了する場合は、Windows ターミナルでいくつかのコマンドを入力する必要があります。 ~/.ssh/id_rsaおよ​​び~/.ssh/id_rsa.pubを入力して、SSH の秘密鍵と公開鍵を検索します (利用可能な場合)。