공부를 위해 Google Cloud Platform의 VM 인스턴스를 사용하던 중 Local의 파일을 VM 인스턴스로 전송해야 하는 일이 생겼다.
VM 인스턴스와 FileZilla를 어떻게 연결하는지 알아보도록 한다.
먼저 PuTTYgen을 실행
Generate 클릭
Key Comment, Key passphrase, Confirm passphrase 입력
Key Comment는 인스턴스의 계정이름과 똑같이 설정해준다. 그렇지 않으면 파일 전송시 Permission Denied 에러가 뜨며 전송 실패가 뜰 수 있다.
나는 구글 ID가 42.4.jinhpark 이었어서 계정 이름이 g42_4_jinhpark으로 됐다.
아래와 같이 입력 후 생성된 Key를 복사한다.
그리고 Save private key를 클릭해 저장해 둔다.
GCP에서 SSH키 등록
메타데이터 -> SSH키 -> 수정 -> 항목추가 -> 아까 복사한 key 붙여넣고 저장
FileZilla에서 연결
사이트 관리자 -> 프로토콜을 SFTP로 설정 -> 호스트에 VM 인스턴스 외부IP 입력 -> 아까 입력한 사용자 입력 -> 아까 저장한 키파일 불러오기 -> 연결 후 비밀번호 입력
이렇게 하면 각각 다른 인스턴스라도 호스트 IP 주소만 바꿔주면 FileZilla로 연결이 가능하다.
중요한 것은 key 생성 시 Key comment 즉 사용자 이름을 맞춰주는 것.
사용자 이름을 맞춰주지 않았다가 권한이 없다는 에러가 떠 한참 고생했다.