SSH 鍵の生成
仮想サーバーを作成するためには、秘密 SSH 鍵と公開 SSH 鍵のペアを用意する必要があります。 既存の SSH 鍵ペアを再使用することも、新しいペアを生成することもできます。 既存の OpenSSH 鍵ペアを、 PuTTY 用として再利用することもできます。
- 公開鍵は、新しい仮想サーバーの作成時に入力として必要になります。
- 秘密鍵は、仮想サーバーへのログイン時に必要になります。 これは、クライアント・ワークステーション上でシークレットとして保持しておきます。
SSH 鍵のこのペアは、クライアントと新規サーバーの間の認証に使用されます。
SSH 鍵を生成するための以下の暗号アルゴリズムが Hyper Protect Virtual Servers でサポートされています。
ssh-rsa
(デフォルト)ssh-ed25519
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
コマンドによる SSH 鍵の生成
以下にリストしたオペレーティング・システムのコマンド・ラインから SSH 鍵ペアを作成する方法は、いずれのオペレーティング・システムでもほぼ同じです。
- Linux
- Windows Subsystem for Linux (WSL)
- Git Bash を使用している Windows
- Windows 10
- macOS
新しい認証鍵ペアを SSH に使用する必要がある場合、または使用したい場合は、コマンド・ラインから ssh-keygen ツールを実行します。 鍵ファイル名とパスフレーズの選択 (オプション) を求めるプロンプトが出されます。
ここに示すサンプル命令は、以下のどれからでも入力できます。
- Windows の Git Bash セッション
- Windows 10 セッション
- Linux セッション
ssh-keygen
ssh-keygen -t rsa
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-t
、-b
、-C
の各パラメーターはオプションです。
-t
: 鍵のタイプを指定します。 デフォルトは-t rsa
です。-b
: 鍵のサイズをビット単位で指定します。 デフォルトのサイズは 2048 ビットです。-C
コメントを追加します。
したがって、引数なしで ssh-keygen
を呼び出した場合は、どちらの鍵もサイズが 2048 ビットの RSA 鍵ペアがコマンドによって生成されます。
-t
ssh-keygen ** ツールで ** パラメーターを使用することによって、サポートされている暗号アルゴリズムの中から選択できます。
アルゴリズム | コマンド |
---|---|
ssh-rsa |
ssh-keygen -t rsa (デフォルト) |
ssh-ed25519 |
ssh-keygen -t ed25519 |
ecdsa-sha2-nistp256 |
ssh-keygen -t ecdsa -b 256 |
ecdsa-sha2-nistp384 |
ssh-keygen -t ecdsa -b 384 |
ecdsa-sha2-nistp521 |
ssh-keygen -t ecdsa -b 521 |
鍵を保存するためのファイル名を指定しない場合は、デフォルトの名前が使用されます。 秘密 SSH 鍵と公開 SSH 鍵の鍵ペアは、同じ名前の 2 つのファイルに保管されます。 仮想サーバーの作成に必要な公開 SSH 鍵は、拡張子が .pub
のファイルに保存されます。 生成される鍵のフォーマットは、生成時に使用された方法やオペレーティング・システムによって異なる場合があります。 仮想サーバーの作成時に入力として入力すると、有効なフォーマットが認識されます。
SSH エージェントへの SSH 秘密鍵の保存
パスフレーズを指定して SSH 鍵ペアを作成した場合は、SSH エージェントに SSH 秘密鍵を追加できます。 SSH エージェントのサポートにより、パスフレーズを再入力することなく、秘密鍵を使用することができます。
このタスクはオプションです。
- 次のコマンドを実行してください。
eval "$(ssh-agent -s)"
- 注: ご使用のシステムが macOS Sierra 10.12.2 以降の場合は、エージェントに鍵を追加できるように、またエージェントが鍵チェーンを使用してパスフレーズを保管できるように、
~/.ssh/config
ファイルを以下のように変更する必要があります。
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
- SSH エージェントに SSH 秘密鍵を追加するには、
ssh-add ~/.ssh/id_rsa
と入力します (mac システムの場合はssh-add -K ~/.ssh/id_rsa
と入力)。 秘密鍵ファイルの名前が異なる場合は、id_rsa
をそのファイル名に置き換えてください。
PuTTY Key Generator を使用して Windows から SSH 鍵を生成する
PuTTY Key Generator で、鍵のタイプと鍵のサイズ (例えば 2048 や 4096) を選択します。
{: caption="図 1. PuTTY 鍵生成プログラムを使用した SSH 鍵ペアの生成" caption-side =" bottom "}
**「生成する鍵のタイプ」**で適切なオプションをクリックすることによって、 PuTTY Key Generator でサポートされる暗号アルゴリズムの中から 1 つ選択できます。 ECDSA オプションの場合は、プルダウン選択が表示されます。ここで、 「この鍵を生成するために使用する曲線 (Curve to use for generating this key)」 (nistp256
、nistp384
、nistp521
のいずれか) をさらに選択する必要があります。
次に、該当するボタン ( **「公開鍵の保存 (Save public key)」**と 「秘密鍵の保存 (Save private key)」) を押して、秘密鍵、および公開鍵 (必要な場合) を別々のファイルに保存する必要があります。 この方法で保存された公開鍵を仮想サーバーの作成に再使用するには、Hyper Protect Virtual Servers で認識される OpenSSH 公開鍵フォーマットを使用する必要があります。
鍵は安全な場所に保管し、鍵のバックアップを取る必要があります。 仮想サーバーのアップグレード・シナリオでは、仮想サーバーの作成に使用された元の鍵を使用して署名する必要があります。
PuTTY の公開 SSH 鍵を使用して仮想サーバーを作成する場合は、以下の選択肢があります。
- 鍵ペア生成の直後に仮想サーバーを作成するには、 **「鍵」**ボックスから公開鍵をコピーします。 先頭にはストリング「ssh-rsa」を含めてください。また、図 2 に示すように末尾の鍵コメントは削除してください。
- PuTTY Key Generator ダイアログを既に閉じた後に仮想サーバーを作成するには、OpenSSH 公開鍵フォーマットで保存されているファイル内の公開鍵を使用します。
{: caption="図 2. PuTTY 鍵生成プログラムで生成した SSH 鍵ペアを使用する準備ができました" caption-side = "bottom"}
PuTTY から仮想サーバーにログインするために OpenSSH 鍵ペアを変換する
既存の仮想サーバーを PuTTY 構成ユーティリティーに構成して、この仮想サーバーに簡単にログインできるようにするとします。 この仮想サーバーを作成するときには、既存の OpenSSH 鍵ペアを使用しました。 このシナリオでは、既存の OpenSSH 秘密鍵を変換して、 PuTTY 構成からこの仮想サーバーに簡単にログインできるようにする方法を説明します。 この目的のために、関係する OpenSSH 秘密鍵を PuTTY フォーマットに変換する方法を説明します。
- **「変換」**から **「鍵のインポート (Import key)」**を選択します。 既存の OpenSSH 秘密鍵ファイルを参照して開きます。
{: caption="図 3. OpenSSH 秘密鍵を PuTTY にインポートする" caption-side =" bottom "}
-
ファイル・タイプ ** を使用して秘密鍵を **PuTTY
.ppk
フォーマットで保存します。{: caption="図 4. OpenSSH 秘密鍵を PuTTY に変換する" caption-side =" bottom "}
-
****PuTTY 構成を使用した Windows からのログイン ** の説明に従って、**PuTTY に仮想サーバーを構成します。