IBM Cloud Docs
SSH 鍵入門

SSH 鍵入門

サーバーを作成する場合は、既存の SSH 鍵を選択するか、SSH 鍵を生成する必要があります。 SSH 鍵は、公開鍵暗号方式を使用してユーザーまたはデバイスを識別するためにサーバーによって使用されます。 SSH鍵はアルファベットと数字の組み合わせで構成され、割り当てられたユーザーまたはデバイスに固有である。 コンソールでSSHキーを作成できます。 IBM Cloud® コンソール、CLI、および API を使用して、SSH キーを追加、編集、または削除できます。 SSH鍵をサーバーに追加することで、パスワードの代わりに対応するSSH秘密鍵でサーバーにアクセスできるようになる。 SSH 鍵をサーバーに追加できるのは、最初にサーバーを作成するときのみです。 Linux® サーバーが作成された後、サーバーの ~/.ssh/ ディレクトリーで鍵を直接編集できます。

接続用のパスワード・オプションを使用したサーバーの作成はサポートされていません。 サーバーをプロビジョンするときに SSH 鍵を指定し、秘密鍵を使用してサーバーに接続する必要があります。

サポートされるSSH鍵タイプ:コンソールで RSA および ED25519

IBM Cloud® Virtual Private Cloud は、2 つの異なるタイプの SSH 公開鍵をサポートします。

  • RSA
  • ED25519

IBM Cloud VPCでは、RSA がデフォルトの SSH 鍵タイプです。 キータイプをED25519に変更することを選択できます。 ED25519 SSH鍵タイプは、より小さな鍵でRSA SSH鍵タイプと同レベルのセキュリティを提供できるため、わずかに高いパフォーマンス上の利点があります。 RSA と ED25519 SSH 鍵を組み合わせて、仮想サーバー・インスタンスとベアメタルサーバーを作成できます。

IBM Cloud コンソールで、ナビゲーション・メニュー アイコンメニュー・アイコン インフラストラクチャー VPC アイコン コンピュート > SSH 鍵 を開いて、SSH 鍵を管理することができます。 ここから、鍵を作成、名前変更、または削除できます。 鍵の作成を選択する場合、その鍵は RSA SSH 鍵タイプでなければなりません。 ED25519 SSH キー タイプをアップロードすることはできますが、VPC 内で生成することはできません。

コンソールでRSAキー・ペアを生成できる。 既存のRSAおよびED25519 SSH鍵をアップロードできる。 Ed25519 は、オペレーティング・システムがこの鍵タイプをサポートしている場合にのみ使用できます。 Ed25519 は、Windows イメージや VMware イメージでは使用できません。

コンソールでRSAキー・ペアを生成できる。 既存のRSAおよびED25519 SSH鍵をアップロードできる。

SSHキーの種類:CLIでRSAとED25519を指定する

IBM Cloud® Virtual Private Cloud は、2 つの異なるタイプの SSH 公開鍵をサポートします。

  • RSA
  • ED25519

IBM Cloud VPCでは、RSA がデフォルトの SSH 鍵タイプです。 キータイプをED25519に変更することを選択できます。 ED25519 SSH鍵タイプは、より小さな鍵でRSA SSH鍵タイプと同レベルのセキュリティを提供できるため、わずかに高いパフォーマンス上の利点があります。 RSA と ED25519 SSH 鍵を組み合わせて、仮想サーバー・インスタンスとベアメタルサーバーを作成できます。

  • Windows イメージまたは VMware イメージの場合は、RSA SSH 鍵タイプを使用する必要があります。 ED25519 SSH 鍵タイプは、Windows または VMware イメージでは使用できません。
  • Linux イメージでは、ED25519 SSH 鍵タイプは、オペレーティングシステムの SSH サーバーがその鍵タイプをサポートしている場合のみ使用できます。

CLI では、 --key-type オプションを使用して、鍵のタイプを指定できます。 CLI 内で SSH 鍵を作成することはできません。インポートできるのは既存の SSH 鍵のみです。 デフォルトの --key-type は RSA です。 ED25519 SSH 鍵をインポートしようとして、ed25519 鍵タイプを指定しなかった場合、処理は失敗します。

--key-type ed25519

SSHキーの種類:RSAとED25519がAPIにある

IBM Cloud® Virtual Private Cloud は、2 つの異なるタイプの SSH 公開鍵をサポートします。

  • RSA
  • ED25519

IBM Cloud VPCでは、RSA がデフォルトの SSH 鍵タイプです。 キータイプをED25519に変更することを選択できます。 ED25519 SSH鍵タイプは、より小さな鍵でRSA SSH鍵タイプと同レベルのセキュリティを提供できるため、わずかに高いパフォーマンス上の利点があります。 RSA と ED25519 SSH 鍵を組み合わせて、仮想サーバー・インスタンスとベアメタルサーバーを作成できます。

  • Windows イメージまたは VMware イメージの場合は、RSA SSH 鍵タイプを使用する必要があります。 ED25519 SSH 鍵タイプは、Windows または VMware イメージでは使用できません。
  • Linux イメージでは、ED25519 SSH 鍵タイプは、オペレーティングシステムの SSH サーバーがその鍵タイプをサポートしている場合のみ使用できます。

API 内で SSH 鍵を作成することはできません。インポートできるのは既存の SSH 鍵のみです。 コンソール内で新しいRSA SSHキー・ペアを生成することができます。 SSH 鍵を作成するときに、その鍵の API コード・スニペットをコピーするオプションがあります。

API では、 type 変数を使用して、鍵のタイプを指定できます。 デフォルトの type は RSA です。 ED25519 SSH 鍵をインポートしようとして、ed25519 鍵タイプを指定しなかった場合、処理は失敗します。

"type":"ed25519"

SSHキーの種類:RSA と ED25519 です

IBM Cloud® Virtual Private Cloud は、2 つの異なるタイプの SSH 公開鍵をサポートします。

  • RSA
  • ED25519

IBM Cloud VPCでは、RSA がデフォルトの SSH 鍵タイプです。 キータイプをED25519に変更することを選択できます。 ED25519 SSH鍵タイプは、より小さな鍵でRSA SSH鍵タイプと同レベルのセキュリティを提供できるため、わずかに高いパフォーマンス上の利点があります。 RSA と ED25519 SSH 鍵を組み合わせて、仮想サーバー・インスタンスとベアメタルサーバーを作成できます。

  • Windows イメージまたは VMware イメージの場合は、RSA SSH 鍵タイプを使用する必要があります。 ED25519 SSH 鍵タイプは、Windows または VMware イメージでは使用できません。
  • Linux イメージでは、ED25519 SSH 鍵タイプは、オペレーティングシステムの SSH サーバーがその鍵タイプをサポートしている場合のみ使用できます。

Terraform 内で SSH 鍵を作成することはできません。インポートできるのは既存の SSH 鍵のみです。 コンソール内で新しいRSA SSHキー・ペアを生成することができます。

Terraform では、 type 変数を使用して、鍵のタイプを指定できます。 デフォルトは rsa。 ED25519 SSH 鍵をインポートしようとして、ed25519 鍵タイプを指定しなかった場合、処理は失敗します。

type = "ed25519"

開始前に

「VPC の SSH 鍵」 ページで SSH 鍵を作成するときに、 IBM Cloud® Virtual Private Cloud で SSH 鍵を生成できます。 ただし、既存の SSH 鍵ファイルをインポートすることを選択する場合は、以下の制限に留意してください。

  • SSH鍵はRSAか ED25519、鍵長は2048ビットか4096ビットでなければなりません。
  • お使いのMacシステムが(デフォルトで)3072ビットのキー・サイズを生成する場合は、以下のコマンドのいずれかを実行して、生成されたキーがサポートされているサイズであることを確認してください。
    • RSA SSH 鍵タイプの場合は、 ssh-keygen -t rsa -b 4096 -C "user_ID" を発行します。
    • ED25519 SSH鍵タイプでは、次のようにします: ssh-keygen -t ed25519 -b 4096 -C "user_ID"
  • SSH 鍵は鍵ペアとして生成されます。1 つは公開鍵で、もう 1 つは秘密鍵です。 VPC に SSH 鍵をインポートするときに、公開鍵を選択します。 対応する秘密鍵はローカル・ワークステーションに残り、インポートされません。
  • 公開鍵をVPCに追加するためにSSH鍵をターミナルからコピーする際、余分な改行が入り、解析エラーが発生することがあります。 この問題を避けるには、まず公開鍵をテキストエディタに貼り付け、余分な改行を削除する。 次に、公開鍵をテキストエディタからコピーし、 IBM Cloud VPC UI、CLI、またはAPIに貼り付ける。

既存の SSH 鍵の検索

既存の SSH 鍵ファイルをインポートすることを選択した場合は、公開鍵が含まれている id_rsa.pub または id_ed25519.pub という名前のファイルを探します。 そのファイルは、ホーム・ディレクトリの下の .ssh ディレクトリ、例えば /Users/<USERNAME>/.ssh/id_rsa.pub にあるかもしれない。 RSA SSH鍵の公開鍵ファイルの内容は通常 ssh-rsa で始まり、ED25519 SSH鍵の公開鍵ファイルの内容は通常 ssh-ed25519 で始まる。 ファイルの拡張子 .pub は、どのファイルに公開鍵が含まれているかを示す。

外部SSHキーの生成

IBM Cloud VPCの外部で SSH 鍵を生成する場合は、 ssh-keygen コマンドを実行し、プロンプトに従います。 例えば、 Linux または Mac システム上で ssh-keygen -t rsa -C "user_ID".

Enter キーを押して、ファイルのデフォルトの場所を受け入れます。 このコマンドにより 2 つのファイルが生成されます。 生成された公開鍵は <your key>.pub ファイルに含まれています。 Windows®の場合は PuTTYgen を使用してSSHキーを生成します。

OpenSSH バージョン 7.8 以上を使用しており、Windows サーバーにアクセスする予定の場合は、以下のコマンドを使用して PEM 形式で鍵を生成します。 ssh-keygen -m PEM -t rsa -C "user_ID"

コンソールで既存のSSHキーを探す

  1. IBM Cloudコンソールで、ナビゲーションメニューアイコンメニューアイコン インフラストラクチャー VPCアイコン コンピュート > SSHキーに進みます。
  2. 既存の SSH 鍵があれば、それらが表示されます。

CLIから既存のSSH鍵をリストアップする

CLI を使用してすべての SSH 鍵のリストを表示するには、 ibmcloud is keys コマンドを使用します。 RESOURCE_GROUP_ID 変数または RESOURCE_GROUP_NAME 変数のいずれかを指定します。 すべてのリソース・グループをリストする場合は、 --all-resource-groups を指定します。

ibmcloud is keys [--all-resource-groups]

詳細については、VPC CLIリファレンスの ibmcloud is keys を参照してください。

既存のSSHキーをAPIでリストアップする

API を使用してすべての SSH 鍵をリストするには、 「すべての鍵のリスト(List all keys)」 を使用します。

curl -X GET "$vpc_api_endpoint/v1/keys?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token"

Terraform を使用した既存の SSH 鍵のリスト表示

Terraform を使用してすべての SSH 鍵をリストするには、 ibm_is_ssh_keysを使用します。

data "ibm_is_ssh_keys" keys {}

コンソールでSSHキーを作成する

以下の手順でSSHキーを作成する。 RSA SSH 鍵のみを作成できます。 ED25519 SSH鍵の場合は、SSH鍵をアップロードする必要があります。

  1. IBM Cloudコンソールで、ナビゲーションメニューアイコンメニューアイコン インフラストラクチャー VPCアイコン コンピュート > SSHキーに進みます。

  2. **「作成」**をクリックして、表 1 にある情報を入力します。

    VPC選択用SSHキーの作成
    フィールド
    Location ロケーションは、リージョン (特定の地理的エリア) とゾーン (リージョン内のフォールト・トレラント・データ・センター) で構成されます。 SSHキーを作成する場所を選択します。
    名前 SSHキーには名前が必要です。
    リソース・グループ SSHキーのリソースグループを選択します。
    タグ SSH鍵にユーザー・タグを割り当てることで、SSH鍵のリストを簡単にフィルタリングできる。 詳しくは、『タグの処理』を参照してください。
    アクセス管理タグ アクセス管理タグを使用すると、特定のリソースに柔軟なアクセス・ポリシーを適用できます。 詳しくは、タグを使ってリソースへのアクセスを制御する UIチュートリアルをご覧ください。
    SSH 鍵タイプ デフォルト値は rsaです。 コンソールで新しいRSAキー・ペアを生成できる。 既存のRSAおよびED25519 SSH鍵をアップロードできる。 Ed25519 は、オペレーティング・システムがこの鍵タイプをサポートしている場合にのみ使用できます。 Ed25519 は、Windows イメージや VMware イメージでは使用できません。
  3. Generate a key pair for meを選択する。

  4. オプションで、 「サンプル API 呼び出しの取得 (Get sample API call)」 をクリックして、コピーできるすべての SSH 鍵情報を含む API コードを取得します。

  5. 「作成」 をクリックします。

これで、UI 上の SSH 鍵のリストに SSH 鍵が表示されます。

コンソールでSSHキーをインポートする

SSHキーをインポートするには2つの方法がある。 ローカル・ファイルから公開鍵をアップロードできます。 または、公開鍵を UI に貼り付けることもできます。

ローカル・ファイルから SSH 鍵をインポートするには、以下の手順を使用します。

  1. IBM Cloudコンソールで、ナビゲーションメニューアイコンメニューアイコン インフラストラクチャー VPCアイコン コンピュート > SSHキーに進みます。

  2. VPC選択用SSHキーの作成
    Createをクリックし、表1の情報を入力する。 フィールド
    ロケーション|ロケーションは、リージョン(特定の地理的地域)とゾーン(リージョン内のフォールトトレラントなデータセンター)で構成される。 SSHキーを作成する場所を選択します。
    名前 SSH 鍵には名前が必要です...
    リソースグループ|SSH鍵のリソースグループを選択します。
    タグ SSH 鍵のリストを簡単にフィルタリングできるように、SSH 鍵にユーザー・タグを割り当てることができます。 詳しくは、「 タグの処理 」を参照してください。...
    アクセス管理タグ|アクセス管理タグは、特定のリソースに柔軟なアクセスポリシーを適用するのに役立ちます。 詳しくは、UI チュートリアル「 タグを使用したリソースへのアクセスの制御 」を参照してください。...
  3. Provide existing public keyを選択します。

  4. 公開鍵のアップロードをクリックします。

  5. 公開鍵ファイルを選択し、「 Open 」をクリックする。 通常、ファイル拡張子 .pub は、どのファイルに公開鍵が含まれているかを示します。

  6. オプションで、 「サンプル API 呼び出しの取得 (Get sample API call)」 をクリックして、コピーできるすべての SSH 鍵情報を含む API コードを取得します。

  7. 「作成」 をクリックします。

公開鍵素材を UI に貼り付けることによって SSH 鍵をインポートするには、以下の手順を使用します。

ターミナルからSSHキーをコピーしてVPCにキーを追加すると、改行が余分に入り、解析エラーが発生することがあります。 この問題を防止するために、まずは、SSH 鍵をテキスト・エディターに貼り付けて余分な改行を削除してください。 それから、SSH 鍵をテキスト・エディターからコピーして VPC の UI、CLI、または API に貼り付けてください。

これで、インポートした SSH 鍵が UI 上の SSH 鍵のリストに表示されます。

CLI を使用した SSH 鍵のインポート

CLI を使用して SSH 鍵をインポートするには、 ibmcloud is key-create コマンドを使用します。 また、KEY_NAMEKEY を指定する必要があります。 SSH 鍵ファイルは、インポートする鍵タイプに応じて、 id_rsa.pub または id_ed25519.pub のいずれかになります。 オプションで、 RESOURCE_GROUP_ID 変数または RESOURCE_GROUP_NAME 変数のいずれかを使用してリソースを指定できます。 詳細については、VPC CLIリファレンスガイドの ibmcloud is key-create を参照してください。

ibmcloud is key-create KEY_NAME (KEY | @KEY_FILE) [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME]

API を使用した SSH 鍵のインポート

API を使用して SSH 鍵をインポートするには、 鍵の作成 を使用します。 API を使用して SSH 鍵を作成することはできません。 しかし、コンソールでSSHキーを作成し、UIから新しいSSHキーを含む必要なAPIコード・スニペットを生成することができる。 UIを使用する場合は、APIコード・スニペットを生成する前に、コンソールで作成したSSHキーを保存しておいてください。

name プロパティーには、SSH 鍵の名前を指定します。 public_key プロパティーには、公開鍵情報を入力します。 type プロパティーには、SSH 鍵タイプとして rsa または ed25519 のいずれかを指定します。

curl -X POST "$vpc_api_endpoint/v1/keys?version=2023-03-30&generation=2" -H "Authorization: Bearer $iam_token" -d '{
      "name":"my-key-1",
      "public_key":"AAAAB3NzaC1yc2EAAAADAQABAAABAQDDGe50Bxa5T5NDddrrtbx2Y4/VGbiCgXqnBsYToIUKoFSHTQl5IX3PasGnneKanhcLwWz5M5MoCRvhxTp66NKzIfAz7r+FX9rxgR+ZgcM253YAqOVeIpOU408simDZKriTlN8kYsXL7P34tsWuAJf4MgZtJAQxous/2byetpdCv8ddnT4X3ltOg9w+LqSCPYfNivqH00Eh7S1Ldz7I8aw5WOp5a+sQFP/RbwfpwHp+ny7DfeIOokcuI42tJkoBn7UsLTVpCSmXr2EDRlSWe/1M/iHNRBzaT3CK0+SwZWd2AEjePxSnWKNGIEUJDlUYp7hKhiQcgT5ZAnWU121oc5En",
      "type":"rsa"
    }'

Terraform を使用した SSH 鍵のインポート

ssh-key リソースを作成するか、ssh-key データ・ソースを参照して既存の ssh-key を使用します。 詳しくは、 ibm_is_ssh_keys にある Terraform の資料を参照してください。

ssh-key リソースを作成するか、ssh-key データ・ソースを参照して既存の ssh-key を使用します。 name プロパティーには、SSH 鍵の名前を指定します。 public_key プロパティーには、公開鍵情報を入力します。 type プロパティーには、SSH 鍵タイプとして rsa または ed25519 のいずれかを指定します。 デフォルト値はrsaです。 ed25519 SSH 鍵をインポートするには、 ed25519 を指定する必要があります。

resource "ibm_is_ssh_key" "example_sshkey" {
   name       = "example-sshkey"
   public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR"
   type = "rsa"
}

次のステップ

SSH 鍵を見つけるか生成した後で、サーバーの計画と作成を行います。

仮想サーバー

ベアメタル・サーバー

SSH 鍵のトラブルシューティング