Summary
GCP(Google Cloud Platform) VM 인스턴스에 SSH 키 페어를 생성하고 등록하여 VS Code에서 원격 접속하는 전체 과정을 설명한다. ssh-keygen으로 로컬에서 키를 생성하고, GCP Console에서 공개 키를 VM에 등록한 후, VS Code의 Remote Explorer 설정을 통해 편리하게 원격 개발 환경을 구축할 수 있다. 터미널과 VS Code 두 가지 방법으로 접속을 확인한다.
Metadata-managed SSH connections
https://cloud.google.com/compute/docs/instances/ssh#third-party-tools
Create an SSH key pair
https://cloud.google.com/compute/docs/connect/create-ssh-keys#console
SSH 키 페어 생성
Mac/Linux 유저:
ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAMEWindows 유저
ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME다음을 대체하세요:
KEY_FILENAME: SSH 키 파일의 이름입니다. 예를 들어,my-ssh-key라는 파일 이름은my-ssh-key라는 개인 키 파일과my-ssh-key.pub이라는 공개 키 파일을 생성합니다.USERNAME: VM에서의 사용자 이름입니다. 예를 들어,cloudysanfrancisco또는cloudysanfrancisco_gmail_com과 같습니다. Linux VM의 경우, VM이 root 로그인을 허용하도록 구성하지 않는 한USERNAME은root가 될 수 없습니다. 자세한 내용은 root 사용자로 VM에 연결하기를 참조하세요. Active Directory(AD)를 사용하는 Windows VM의 경우, 사용자 이름 앞에DOMAIN\형식의 AD 도메인을 붙여야 합니다. 예를 들어,ad.example.comAD 내의cloudysanfrancisco사용자의USERNAME은example\cloudysanfrancisco입니다.
ssh-keygen은 개인 키 파일을 ~/.ssh/KEY_FILENAME에, 공개 키 파일을 ~/.ssh/KEY_FILENAME.pub에 저장합니다. cloudysanfrancisco 사용자의 공개 키는 다음과 유사하게 보입니다:
아래와 같이 설정하여 실행함:
`KEY_FILENAME`: podly_gcp_ssh
`USERNAME:`: syshin0116
ssh-keygen -t rsa -f ~/.ssh/podly_gcp_ssh -C syshin0116

passphase는 추가 비밀번호를 걸어 보안을 강화하는건데 귀찮아서 넘겼다(ENTER)
주어진 경로를 확인해보면 설정한 파일명(podly_gcp_ssh)으로 생성된걸 확인할 수 있다:

GCP VM에 생성한 SSH 등록
1. GCP Console에서 VM 선택

상단에 수정 클릭:

SSH Key 부분에 이전에 생성한 SSH key(파일명.pub 의 내용)을 복사해서 넣어주면 된다:

접속 확인
터미널 접속
Key 권한 설정: 습관이 되어서 했는데, 필요한지 모르겠다…
chmod 600 /Users/syshin/.ssh/podly_gcp_ssh
chmod 600 /Users/syshin/.ssh/podly_gcp_ssh.pubprivate 키와 유저네임을 통해 접속
.pub가 없는게 private 키다
ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IPssh -i /Users/syshin/.ssh/podly_gcp_ssh syshin0116@34.64.181.98
VS Code 접속
Remote Explorer config 파일 설정

예시 config:
Host Podly
HostName 34.64.181.98
IdentityFile /Users/syshin/.ssh/podly_gcp_ssh
User syshin0116
쫜~