web-dev-qa-db-ja.com

新しいGoogle Compute Engineインスタンスのsshキーを取得する方法は?

私はAmazon EC2の世界から来た新しいGoogle Cloudトライアルユーザーであり、sshを介して新しいGoogle Compute Engine VMインスタンスにログインする方法について完全に困惑しています。

Google Cloud Webコンソールを使用して新しいインスタンスを作成しました(重要な場合はCentOS 6.xイメージから)。作成フォームに空白があり、既存のsshキーを貼り付けることができましたが、これが最初のインスタンスであったため、まだありませんでした。 Amazon EC2のように、キー作成プロセスを完了すると思いました。しませんでした。インスタンスを作成したようですが、そのためのsshキーを取得する方法がわかりません。インスタンスWebページには「ssh」というボタンがあり、sshセッションをシミュレートするポップアップWebブラウザーウィンドウから簡単にログインできます。ただし、ルートではなく、ユーザーレベルのアカウントにしかアクセスできません。ポップアップにはユーザーを変更するメニュー項目があり、それを「ルート」に変更した後、接続エラーを生成するだけで、インスタンスにまったくログインできなくなりました。

検索しましたが、Google Computeインスタンスのこの側面を説明する簡単なドキュメントは見つかりません。 Webコンソールを検索しましたが、sshキーの作成/選択メカニズム、またはインスタンスのキーを作成またはダウンロードする方法が見つかりません。

自分のSSHキーを最後に手動で作成し、作成中にフォームに貼り付ける必要がありますか、それとも他に明らかなステップがありませんか?

38
steevithak

デフォルトでは、新しいGoogle Compute Engine(GCE)VMインスタンスにはSSHキーが事前に割り当てられていないため、存在しないため「取得」できません。それらを作成するか、gcloud(以下を参照)のようなツールを使用します。これにより、SSHキーがまだない場合に作成するように求められます。

新しく作成したGCE VMに接続するためのいくつかのオプションがあります。

1つのオプションは、インスタンスのリスト内のインスタンスの隣にある開発者コンソールGUIの「SSH」ボタンを使用して接続することです。これにより、ブラウザウィンドウとインスタンスへのターミナルセッションが開きます。

コマンドラインでSSHクライアント経由で接続する場合は、gcloudツール( Google Cloud SDK の一部)を使用できます。

gcloud compute ssh example-instance

gcloud compute ssh ヘルプページで、いくつかの例とともに、フラグとオプションの完全なセットを確認できます。

SSHキーをまだお持ちでない場合は、作成してからインスタンスに接続するよう求められます。すでにキーがある場合は、既存のSSHキーを使用して、インスタンスに転送できます。

デフォルトでは、gcloudはキーが次のパスにあることを想定しています。

  • $HOME/.ssh/google_compute_engine –秘密鍵
  • $HOME/.ssh/google_compute_engine.pub –公開鍵

gcloudを使用して別の場所からキーを再利用する場合は、 --ssh-key-file フラグを使用して、シンボリックリンクを作成するか、gcloudを指すことを検討してください。

注:gcloudをまったく使用しない場合は、-の説明に従って、手動でインスタンスのメタデータにSSHキーを追加する必要があります- インスタンスレベルでのsshキーのセットアップ これは、gcloudを介して、または Google Cloudコンソール を介して手動で実行できます。

また、ssh-keygenを使用して独自のキーを作成することもできます。これは、gcloudも裏で使用します。インスタンスに接続できます sshを直接使用gcloudの代わりに、ただし追加のパラメーターを指定する必要があります。

ssh -i KEY_FILE -o UserKnownHostsFile=/dev/null \
    -o CheckHostIP=no -o StrictHostKeyChecking=no \
    USER@IP_ADDRESS

次のパラメータが必要です。

  • KEY_FILE – [必須]コンピューター上のキーが保存されているファイル。例:~/.ssh/google_compute_engine

  • USER – [必須]そのインスタンスにログインするためのユーザー名。通常、これはgcloud computeを実行しているローカルユーザーのユーザー名です。

  • IP_ADDRESS – [必須]インスタンスの外部IPアドレス。

詳細については、 SSH docs を参照してください。

52
Misha Brukman

Sshを使用してインスタンスにログインするには-[Linux Ubuntu 16.04で実行されるすべてのステップ]

  1. SSHキーを作成するssh-keygen -t rsa -f ~/.ssh/gcloud_instance1 -C varunon9ここgcloud_instance1はキーファイルの名前であり、varunon9はユーザー名です

  2. 公開鍵ファイルの内容を印刷するcd ~/.ssh && cat gcloud_instance1.pub

  3. [編集] VMインスタンスの詳細アイコン enter image description here

  4. 公開鍵ファイル(cd ~/.ssh && cat gcloud_instance1.pubの出力)の内容をssh-keysテキスト領域に貼り付けます

    enter image description hereenter image description here

  5. 保存をクリックします

  6. ターミナルから、ssh ssh -i gcloud_instance1 [email protected]を介してインスタンスにログインできます。ここで、gcloud_instance1は(.sshディレクトリ内の)プライベートキーファイルであり、varunon9はユーザー名で、35.200.201.56はインスタンス。

12
Varun Kumar

複数のインスタンスに対して1組のsshキーを作成して使用する最も簡単な方法:

ステップ1:https://PuTTY.org/ からPuTTYとputtyGenをインストールします

ステップ2:ローカルデスクトップ/ラップトップでターミナルを開きます(Windows 10以降ではWindows Linux Subsystemを使用します)

タイプ:ssh-keygen

プロンプトでファイル名の名前を入力します。 google_key

google_keyとgoogle_key.pubの2つのファイルが作成されます

ステップ3:google_key.pubのコンテンツ全体をコピーします

改行文字がないことに注意してください。すべて1行である必要があります。

ステップ4:任意のVMインスタンスを作成する前に、 Compute Engine-> Metadata

「SSHキー」タブを選択し、「Add SSH」キーをクリックします

Google_key.pubの内容を貼り付けます。内容を適切に貼り付けると、左側のラベルにusernameが表示されます。次に、保存をクリックします。

ステップ5:ここで、お気に入りのVM google computeの下のインスタンスを作成します。

外部IPをコピーvm_instance_external_ip

Linuxターミナルに戻って入力します

ssh -i google_key.pubusername@vm_instance_external_ip

「yes」と入力します

そして今、あなたは行ってもいいはずです。

ビデオの説明が必要な場合は、 こちらを参照

2
isma

コンソールを開いたら、sshタブでgcloudコマンドを表示してみてください。 gcloudクライアントは、次のコマンドで開きます。

gcloud compute --project ssh --zone

そして初めての場合は、sshキーを作成します。この場所でファイルをダウンロードするだけです〜/ .ssh/google_compute_engine右上のgcloud client download fileオプションを使用します。キーファイルを入手したら、発行するだけです

ssh -i username @ external_IP

1

VersionId、serviceIdなどのさまざまなgcloudパラメーターの推測ゲームを回避するのに役立つ便利なボタンを見つけました。

gcloudコマンドを表示-> ssh screenshot

0
Sahar