%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B.png)
使用する場合google-cloud-sdkWindowsの場合は、 gcloud compute ssh
組み込みのパテgcloud compute ssh
コマンドに別のデフォルトの SSH クライアントを指定することは可能ですか?
答え1
Windows 用 Cloud SDK の最近のリリースには、パッケージ化された putty 実行可能ファイル (dir/bin/sdk フォルダ) が付属しています。gcloud のソース コードを見ると、PuTTY の使用はハードコードされており、現時点では別の SSH クライアントを選択できないようです。
答え2
MobaXterm、Windowsターミナル、またはSSHをサポートするその他のコマンドプロンプトアプリケーションを使用してGCP VMにログインできます。必要なのは秘密鍵そしてその内部/外部IPGCP インスタンス (GCP VM とも呼ばれます) の。
秘密鍵は通常C:\Users\<username>\.ssh\google_compute_engine
そのファイルが見つからない場合は、gcloud login コマンドをドライ実行することでそのパスを確認できます。
$ gcloud compute ssh example-instance --zone=us-east1-b --dry-run
(--zone フラグはオプションです。)
出力から、コマンドで使用される秘密鍵が.ppk
拡張子 ( ppk
putty-private-key を表します) で終わることがわかります。
同じパスでファイル エクスプローラーを参照すると、拡張子のない別のファイルが見つかります.ppk
。これが標準形式の秘密キーです。
ここで、インスタンスの外部/内部 IP が必要になります (VPN を使用している場合は内部 IP を使用できます)。
VM の外部 IP を確認するには 2 つの方法があります。
VMに通常通りログインし、コマンドを使用して外部IPを確認します。
$ curl ifconfig.co
(外部 IP は動的 IP であり、ある時点で変更されるため、使用しないことをお勧めします。また、SSH ポートを有効にして GCP インスタンスが外部 IP 経由でログインできる場合にのみ使用できます)
GCPコンソールでは内部/外部IPも確認できます。ページ(管理者権限を持っている場合のみ可能です)。
VM の内部または外部 IP を取得したら、以下のコマンドを実行して、お気に入りのシェルからログインできます。
$ ssh -i <path to private key without the (.ppk) extension> user@your_instance_IP
答え3
新しいコマンドを作成し、Microsoft.PowerShell_profile.ps1 に保存できます。
function g-ml-vm
{
# get default command as string(--dry-run)
$SrcCommand = (gcloud beta compute ssh username@ml-ubuntu-18 --dry-run `
--zone "your-zone" --project "your-project-id") | Out-String
# remove path to putty.exe
$PuttyExe = "putty.exe"
$SrcCommand = $SrcCommand.SubString($SrcCommand.IndexOf($PuttyExe) + $PuttyExe.length)
# use ssh, remove .ppk file extension from the key name
$NewCommand = "ssh" + $SrcCommand.Replace(".ppk", "")
# run
iex $NewCommand
}
この関数の最初のコマンドを変更するだけで済みます。ユーザー名@ml-ubuntu-18、あなたのゾーンそしてプロジェクトIDあなたの価値観とともに。
新しいプロファイル スクリプトを使用するには、ターミナルを再起動するか、 を実行します. $profile
。その後、このコマンドを使用できます。
この方法なら、Windows ターミナル ウィンドウを離れることなく gcloud VM に接続できます :)