このドキュメントでは、Compute Engine 仮想マシン(VM)インスタンスの SSH 認証鍵ペアを作成する方法について説明します。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
SSH 認証鍵ペアを作成する
Google Cloud コンソールまたは Google Cloud CLI を使用して VM に接続すると、Compute Engine によって SSH 認証鍵が自動的に作成されます。Compute Engine による鍵の構成と保存の詳細については、SSH 接続についてをご覧ください。
サードパーティ ツールまたは OpenSSH を使用して VM に接続する場合は、接続する前に VM に鍵を追加する必要があります。SSH 認証鍵がない場合は、SSH 認証鍵を作成する必要があります。VM は、sshd_config
ファイルにある鍵形式を受け入れます。
Linux / macOS
Linux ワークステーションまたは macOS ワークステーションで、ssh-keygen
ユーティリティを使用して新しい SSH 認証鍵ペアを作成します。次の例では、RSA 鍵ペアを作成します。
ターミナルを開き、ssh-keygen
コマンドに -C
フラグを指定して実行し、新しい SSH 認証鍵ペアを作成します。
ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME -b 2048
次のように置き換えます。
KEY_FILENAME
: SSH 認証鍵ファイルの名前。たとえば、
my-ssh-key
というファイル名を指定した場合、my-ssh-key
という名前の秘密鍵ファイルとmy-ssh-key.pub
という名前の公開鍵ファイルが生成されます。USERNAME
: VM 上のユーザー名。たとえば、cloudysanfrancisco
や、cloudysanfrancisco_gmail_com
です。Linux VM の場合、root ログインを許可するように VM を構成した場合を除き、
USERNAME
をroot
にすることはできません。詳細については、root ユーザーとして VM に接続するをご覧ください。Active Directory(AD)を使用する Windows VM の場合、ユーザー名の前に AD ドメインを
DOMAIN\
形式で追加する必要があります。たとえば、ad.example.com
AD 内のユーザーcloudysanfrancisco
にはexample\cloudysanfrancisco
のUSERNAME
があります。
ssh-keygen
は秘密鍵ファイルを ~/.ssh/KEY_FILENAME
に、公開鍵ファイルを ~/.ssh/KEY_FILENAME.pub
に保存します。
ユーザー cloudysanfrancisco
の公開鍵は次のようになります。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco
Windows 10 以降
Windows バージョン 10 以降のワークステーションでは、ssh-keygen
ユーティリティを使用して新しい SSH 認証鍵ペアを作成します。次の例では、RSA 鍵ペアを作成します。
コマンド プロンプトを開いて、-C
フラグを指定した ssh-keygen
コマンドを使い、新しい SSH 認証鍵ペアを作成します。
ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME -b 2048
次のように置き換えます。
WINDOWS_USER
: Windows マシンでのユーザー名。KEY_FILENAME
: SSH 認証鍵ファイルの名前。たとえば、
my-ssh-key
というファイル名を指定した場合、my-ssh-key
という名前の秘密鍵ファイルとmy-ssh-key.pub
という名前の公開鍵ファイルが生成されます。USERNAME
: VM 上のユーザー名。たとえば、cloudysanfrancisco
や、cloudysanfrancisco_gmail_com
です。Linux VM の場合、root ログインを許可するように VM を構成した場合を除き、
USERNAME
をroot
にすることはできません。詳細については、root ユーザーとして VM に接続するをご覧ください。Active Directory(AD)を使用する Windows VM の場合、ユーザー名の前に AD ドメインを
DOMAIN\
形式で追加する必要があります。たとえば、ad.example.com
AD 内のユーザーcloudysanfrancisco
にはexample\cloudysanfrancisco
のUSERNAME
があります。
ssh-keygen
は秘密鍵ファイルを C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME
に、公開鍵ファイルを C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME.pub
に保存します。
ユーザー cloudysanfrancisco
の公開鍵は次のようになります。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco
Windows 8 以前
Windows バージョン 8 以前のワークステーションでは、PuTTYgen ツールを使用して新しい SSH 認証鍵ペアを作成します。次の例では、RSA 鍵ペアを作成します。
puttygen.exe
をダウンロードします(まだダウンロードしていない場合)。PuTTYgen を開きます。
[Parameters] で次のように指定します。
- Type of key to generate:
RSA
- Number of bits in a generated key:
2048
以上
- Type of key to generate:
[Generate] をクリックし、画面の指示に従います。
ツールに公開鍵の値が表示されます。
[Key comment] セクションで、自動的に入力されたテキストをユーザー名に置き換えます。たとえば、
cloudysanfrancisco
や、cloudysanfrancisco_gmail_com
です。Linux VM の場合、[キーコメント] は、ルートログインを許可するように VM を構成しない限り、
root
にすることはできません。詳細については、root ユーザーとして VM に接続するをご覧ください。Active Directory(AD)を使用する Windows VM の場合、鍵コメントの前に AD ドメインを
DOMAIN\
形式で追加する必要があります。たとえば、ad.example.com
AD 内のユーザーcloudysanfrancisco
にはexample\cloudysanfrancisco
の 鍵コメントがあります。(省略可)鍵をパスワードで保護するため、鍵のパスフレーズを入力します。
[Save private key] をクリックして、秘密鍵の保存先を選択します。
.ppk
拡張子のファイルに秘密鍵が書き込まれます。[Save public key] をクリックして、公開鍵の保存先を選択します。PuTTYgen ウィンドウを開いたままにします。
[Public key for pasting into OpenSSH authorized_keys file] フィールドの値をコピーします。
公開鍵ファイルを開きます。公開鍵の形式は次のとおりです。
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "USERNAME" KEY_VALUE ---- END SSH2 PUBLIC KEY ----
公開鍵ファイルの内容全体を、[Public key for pasting into OpenSSH authorized_keys file] フィールドからコピーした値に置き換えて、公開鍵ファイルが次の形式と一致するようにします。
KEY_VALUE USERNAME
ユーザー cloudysanfrancisco
の公開鍵は次のようになります。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco
次のステップ
- VM に SSH 認証鍵を追加する方法を学習する。
- Compute Engine での SSH 接続の仕組みについて確認する