gcloud가 Putty를 사용하지 못하도록 방지(Windows의 Google Cloud SDK)

gcloud가 Putty를 사용하지 못하도록 방지(Windows의 Google Cloud SDK)

사용할 때구글 클라우드 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( ppkputty-private-key를 나타냄)으로 끝나는 것을 확인할 수 있습니다.

.ppk동일한 경로에서 파일 탐색기를 탐색하면 확장자가 없는 다른 파일, 즉 표준 형식의 개인 키를 찾을 수 있습니다 .

이제 인스턴스의 외부/내부 IP가 필요합니다(VPN을 사용하는 경우 내부 IP를 사용할 수 있습니다).

두 가지 방법을 사용하여 VM의 외부 IP를 찾을 수 있습니다.

  1. VM에 정상적으로 로그인하고 다음 명령을 사용하여 외부 IP를 찾으십시오.

    $ curl ifconfig.co

(외부 IP는 유동 IP이므로 시간이 지나면 변경되므로 사용하지 않는 것이 좋습니다. 게다가 GCP 인스턴스가 외부 IP를 통해 로그인할 수 있도록 허용한 경우에만 사용할 수 있습니다. SSH 포트)

  1. 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에 연결할 수 있습니다. :)

관련 정보