SSHキー
Equinix Metal™サーバーに安全にアクセスして管理するには、アカウントまたはプロジェクトにSSHキーを追加してください。SSHはエクイニクスメタルサーバーへのデフォルトのアクセス方法です。SSHキーはプロビジョニングする各サーバーに追加されます。エクイニクスメタルは、SOS/OOBコンソールの認証にもSSHキーを使用します。
SSHキーの生成
Equinix Metal™でSSH鍵を使用するには、まずローカルマシンで公開鍵と秘密鍵のペアを生成し、公開鍵をエクイニクスメタルアカウントまたはプロジェクトに追加する必要があります。
ローカル・マシンでSSHキー・ペアを生成するには、以下のようにする:
-
コマンドプロンプトで
ssh-keygenコマンドを入力して、SSH キーペアを生成します。ssh-keygenコマンドは、Linux、Mac、および最新の Windows バージョンでサポートされています。ssh-keygen -t ed25519ローカルマシンまたは Metal サーバのオペレーティングシステムが Ed25519 鍵をサポートしていない場合は、推奨最小鍵サイズ 2048 ビットの RSA 鍵を使用してください。
ssh-keygen -t rsa -b 2048 -
プロンプトに従って SSH キーを生成します。Enter キーを押してキーを保存し、デフォルトの場所とキー名を受け入れます。 注:これが初めてのSSH鍵の場合は、デフォルトの場所と鍵名を受け入れることをお勧めします。
-
パスフレーズの使用: パスフレーズの入力は必須ではありませんが、セキュリティの追加レイヤーを提供します。パスフレーズを使用する場合は、SSHを使用してサーバーにアクセスするたびにパスフレーズを入力する必要があります。パスフレーズを使用したくない場合は、Enterキーを押して空のままにしてください。
-
鍵の生成が完了すると、デフォルトの場所を受け入れた場合は、公開鍵と秘密鍵が以下のパスに保存されます:
- Linux上の
/home/<name>/.ssh/<key-name>.pub - Macの
/Users/<name>/.ssh/<key-name>.pub - Windows上の
C:\Users\<name>/.ssh/<key_name>.pub。
- Linux上の
このキーをEquinix Metalコンソールにアップロードします。メタルコンソールへの鍵の追加については、「アカウントへのSSH鍵の追加」(#adding-your-ssh-key-to-your-account)を参照してください。同じディレクトリにあるもう一つの鍵ファイル <key_name> が秘密鍵です。秘密鍵は誰とも共有しないでください。
注意: SSH サーバーとクライアントを内蔵していない古い Windows バージョンを使用している場合は、鍵を生成 してサーバーに SSH 接続するために、PuTTY などのサードパーティ製アプリケーションをダウンロードして設定する必要があります。
アカウントにSSHキーを追加する
- Console
- CLI
- API
ローカルマシンでSSH鍵を作成したら、エクイニクスアカウントに公開鍵を追加します。
公開鍵をエクイニクスメタルアカウントに追加するには、次の手順に従います:
-
コンソールの右上隅で、ユーザープロファイル >マイプロフィール をクリックします。
-
SSHキー_」タブをクリックして、ユーザー・プロファイルの個人用SSHキーを開きます。
-
+ Add New Key をクリックして、アカウントに新しいSSHキーを追加します。

-
ローカルマシンで
<key_name.pub>ファイルを開き、内容をコピーします。 -
内容を_Public Key_フィールドに貼り付けます。
-
Name your Key_フィールドにキーの名前を入力します。
-
キーを他のサーバーに関連付けるには、_Search Device_テキストボックスを使用してデバイスを検索するか、リストからデバイスを選択します。このオプションは、Equinix Metalコンソールからのみ利用できます。
注:すでにキーが関連付けられているデバイスを選択した場合、そのサーバーにキーがすでに存在することを知らせるポップアップ・メッセージが表示されます。デバイスのチェックボックスの選択を解除する。
-
Select All チェックボックスをクリックして、リスト内のすべてのサーバーをキーに関連付けます。
-
Add SSH Key をクリックします。SSHキーを追加すると、_SSH keys_タブのSSHキーのリストにキーが表示されます。
-
Edit をクリックして、キーの名前を変更したり、キーを更新します。
metal ssh-key create コマンドを使用して、SSH キーをユーザーに追加できます。--key フラグには SSH 公開鍵の完全な文字列を、--label フラグには名前またはその他のユーザーフレンドリーな説明を入力します。
metal ssh-key create --key <ssh_public_key> --label <string>
SSH キーを更新する必要がある場合は、metal ssh-key update コマンドで更新できます。--label、--key のいずれか、または両方を更新できます。
metal ssh-key update -i <SSH-key_UUID> --key <ssh_public_key> --label <string>
Equinix Metal APIの/ssh-keysエンドポイントにPOSTリクエストを送信すると、公開鍵をアカウントに追加できます。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ssh-keys" \
-d '{
"label": "<string>",
"key": "<ssh_public_key>"
}'
SSH キーを更新する必要がある場合は、/ssh-keys/{id} エンドポイントに PUT リクエストを送信します。"label"、"key" のいずれか、または両方を更新できます。
curl -X PUT \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ssh-keys/{id}" \
-d '{
"label": "<string>",
"key": "<ssh_public_key>"
}'
SSHキーによるサーバーのプロビジョニング
デフォルトでは、サーバーをプロビジョニングすると、すべてのユーザーアカウントの SSH 鍵、チームメンバーの SSH 鍵、およびプロジェクトの SSH 鍵がサーバーに追加されます。SSH 鍵は、サーバーへの認証アクセスを提供します。
- Console
- API
サーバーのプロビジョニング時にデフォルトを上書きするには、サーバーにアクセスさせたいSSH鍵を指定する必要があります。
SSHキーを指定するには、以下のようにする:
-
コンソールで、Bare Metals > Deploy > _On Demand_に進みます。
-
オプション設定_ >SSHキー をクリックします。
-
プロジェクトキー、パーソナルキー、コラボレーターキーを確認し、選択します。
-
Select all keys をクリックして、サーバーへのアクセスを許可するすべての SSH キーを選択します。

注:すべてのキー(Project、Personal、Collaborator)のチェックを外すと、すべての キーがデフォルトでサーバーに追加されます。SSH 鍵なしでコンソールでプロビジョニングすることはできません。SSH キーなしでプロビジョニングするには、API を使用します。
API でのプロビジョニング時にどの SSH 鍵がサーバに含まれるかをカスタマイズするには、projects/{id}/devices エンドポイントへの POST リクエストに "user_ssh_keys" または "project_ssh_keys" パラメータを含めます。これらのパラメータは、すべての SSH キーをサーバーに追加するデフォルトの動作をオーバーライドし、**** 指定された SSH キーのみを追加します。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>",
"user_ssh_keys": [
<uuid>
],
"project_ssh_keys": [
<uuid>
]
}'
注目すべきボディ・パラメーター
"user_ssh_keys"- このサーバーへのアクセスを承認するために使用される、ユーザーアカウントの SSH 鍵とチームメンバーの SSH 鍵の UUID のリストを含む配列です。これらの鍵は、デバイスのメタデータにも表示されます。ユーザーは、プロジェクトまたは組織のメンバーである必要があります。"project_ssh_keys"- プロジェクトの SSH 鍵の UUID のリストを含む配列。これらの鍵は、デバイスのメタデータにも表示されます。
projects/{id}/devicesエンドポイントへのPOSTリクエストで"ssh_keys"ボディパラメータを使用すると、Equinix Metalがアップロード・管理していないパブリックSSH鍵をサーバーに追加することもできます。これらの鍵は、"project_ssh_keys"と"user_ssh_keys"で定義された鍵とともに、または利用可能なすべてのSSH鍵を追加するデフォルトの動作に加えて、サーバーに追加されます。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>",
"ssh_keys": [
{
"key": "<ssh_public_key>",
"label": "<string>"
}
]
}'
注目すべきボディ・パラメーター:
"ssh_keys"- SSH キーオブジェクトの配列で、サーバーへの SSH アクセスを認証するために追加されます。これらの鍵は、デバイスのメタデータにも表示されます。
デフォルトでは、SSH 鍵が指定されていない場合("user_ssh_keys"、"project_ssh_keys"、"ssh_keys" はすべて空リストまたは省略)、利用可能なすべてのユーザー SSH 鍵、プロジェクト SSH 鍵、チームメンバーの SSH 鍵が含まれます。
SSHキーを使用しないプロビジョニング
SSH 鍵なしでサーバをプロビジョニングするには、projects/{id}/devices エンドポイントへの POST 要求に "no_ssh_keys" パラメータを明示的に含める必要があります。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "<os_code>",
"no_ssh_keys": true
}'
注目すべきボディ・パラメーター:
"no_ssh_keys"- ユーザー、チームメンバー、プロジェクトの SSH キーをサーバーにアタッチするデフォルトの動作をオーバーライドし、認証された SSH アクセスなしでサーバーをプロビジョニングするブール値。リクエストの本文で"no_ssh_keys"をtrueに設定します。
SSHキーのポストプロビジョニング
サーバーにプロビジョニングされた利用可能な鍵を表示するには、以下のようにする:
- Console
- CLI
- API
-
コンソールで、Bare Metals Servers > _Manage_に進みます。
-
表示したいサーバーを選択する。
-
SSH 鍵 タブをクリックして、SSH 鍵を表示します。

プロビジョニング時にサーバに追加された SSH 鍵は、CLI から metal device get コマンドで、--output フラグで JSON 出力を指定して取得できます。リストはレスポンスの ssh-keys オブジェクトにあります。
metal device get -i <device_id> -o json
また、API からサーバーの SSH キーを取得するには、/devices/{id}/ssh-keys エンドポイントに GET リクエストを送信します。
curl -X GET -H 'X-Auth-Token: <API_TOKEN>' \
"https://api.equinix.com/metal/v1/devices/{id}/ssh-keys"
アカウントへのSSHキーの追加](#adding-your-ssh-key-to-your-account)の手順に従って、いつでもアカウントにSSHキーを追加できます。ただし、コンソールまたはAPIを通じてアカウントまたはプロジェクトに追加されたキーは、NOT 自動的にサーバーに追加されます。Equinix Metalは、プロビジョニングされたサーバー上にこの操作を実行するためのエージェントやプロセスを保持していません。アクセスを許可するには、サーバー自体にSSHキーを追加する必要があります。
プロビジョニングされたサーバで使用するキーを追加する場合は、コンソールに追加する際に、新しいキーを特定のサーバまたはすべてのサーバに関連付けるオプションをチェックします。これは、サーバーへのSSHアクセスを直接許可するものではありませんが、SOS/OOBコンソールにログインして使用する際に、新しいSSHキーを使用できるようにします。その後、SOS/OOBコンソールを使用して、新しいSSHキーをサーバー上の認証キーに追加することができます。

このオプションもエクイニクスMetalコンソールからのみご利用いただけます。
SSHでの接続
サーバーにSSH接続するには、以下のコマンドを実行する:
ssh root@<your_public_ipv4>
注:エクイニクスメタルサーバーでは、デフォルトでSSHパスワード認証が無効になっています。
SSHキーの削除
- Console
- CLI
- API
Equinix Metalコンソールのユーザープロファイルの「SSH Keys」タブで、お客様のアカウントからSSHキーを削除できます。削除するキーの横にある「Delete 」をクリックします。このSSHキーは、今後プロビジョニングするサーバーには追加されません。

ユーザーアカウントから SSH キーを削除するには、metal ssh-key delete コマンドを使用します。
metal ssh-key delete --id <SSH-key_UUID>
SSHキーは、今後プロビジョニングするサーバーには追加されません。
API では、/ssh-keys/{id} エンドポイントに DELETE を送信することで、アカウントから SSH キーを削除できます。
curl -X DELETE \
-H 'X-Auth-Token: <API_TOKEN>' \
"https://api.equinix.com/metal/v1/ssh-keys/{id}"
この鍵は、プロビジョニング時にサーバーに追加されることはない。
注: コンソールまたはAPIを通じてお客様のアカウントまたはプロジェクトから削除されたキーは、NOT 自動的にサーバーから削除されます。Equinix Metalは、プロビジョニングされたサーバー上にこの操作を実行するためのエージェントやプロセスを保持していません。アクセスを取り消すには、サーバーからSSHキーを手動で削除する必要があります。