문제
gcloud compute ssh --zone "us-central2-b" "beomi@instance-3" --project "kcbert"
위와 같은 명령어로
instance-3
이름을 가진 GCP VM에 접속이 가능하다.하지만 이걸 VS Code에 곧바로 입력해서 SSH접속은 불가능하다.
해결법
1. gcloud
통해서 SSH 접속이 가능한지 확인
위 커맨드와 같은 형태로 SSH 접속이 일단 가능해야 한다. 즉, 아래 조건을 충족하는 상태여야 한다.
- 현재 접속중인 IP가 방화벽으로 막혀있지 않아야 한다.
gcloud
명령어를 사용하기 위한 계정에 로그인되어있어야 한다.
- 현재
~/.ssh/google_compute_engine
파일이 존재한다.(위 gcloud 명령어를 처음 실행시 자동생성된다.)
2. SSH config 수정해서 VS Code에 등록하기
# ~/.ssh/config 파일. 없으면 만들기! Host gcp-instance HostName instance-3 User beomi ProxyCommand gcloud compute ssh --zone "us-central2-b" --project "kcbert" %h --ssh-flag="-W %h:%p" IdentityFile ~/.ssh/google_compute_engine
~/.ssh/config
파일에 위와 같이 적어준다.gcp-instance
이름은 식별하기 좋은 닉네임.
HostName
부분에 GCP에서 생성할때 사용한 VM의 이름을 적어주자.
User
의 경우는 개인 GCP계정이면XXX@gmail.com
의 경우XXX
를 사용해주면 된다.
- 그리고
--project
부분에 개인의 프로젝트 이름을 적어줘야 한다.
위와 같이
config
파일을 수정하고 VS Code를 껐다가 켜면 아래와 같이 gcp-instance
VM 정보가 적혀있다.이후는 일반적인 사용방법과 동일!