[GCP] SFTP 연결을 위한 VM 만들기 및 세팅하기 (SSH키 생성, PuTTY, SFTP 오픈소스, 방화벽 설정)
GCP 가입이 되었다는 전제하에 VM을 세팅하고 FTP를 연결하는 과정입니다.
1. Google Cloud Platform 가입
가입 시 신용카드 정보가 필요합니다. 무료로 3개월 사용이 가능합니다.
2. 좌측 Compute Engine - VM 인스턴스 - 인스턴스 만들기 클릭
3. 머신 구성 설정
머신 이름을 작성하고, region은 가까운 곳으로 지정합니다. 이름은 영어, 숫자와 하이픈만으로 이루어져야합니다.
아래 유형은 기본서버인 E2로 설정하겠습니다.
4. OS 및 스토리지
OS 정보 및 크기를 편의에 따라 변경합니다.
Debian과 Ubuntu가 많이 사용되고, 한국에서 쓰기에는 Ubuntu가 가장 디펜던스 측면에서 좋습니다.
5. HTTP 트래픽, HTTPS 트래픽 허용
네트워킹에서 HTTP 트래픽과 HTTPS 트래픽을 허용합니다.
6. 하단의 만들기 클릭
7. SSH키 생성
PuTTY를 통해 SSH키를 생성할 수 있습니다.
다운로드 후, PuTTYgen을 실행시켜 Generate를 클릭합니다.(생성되는 동안 박스 내에서 마우스를 움직여야합니다.)
퍼블릭 키 생성이 완료되면 키 전체를 복사해 .txt파일로 저장해둡니다. → GCP용
키 코멘트를 복사해두고, Save private key를 클릭해 .ppk파일로도 SSH키를 저장해둡니다. → FTP용
키 코멘트는 프라이빗키 .ppk파일 이름으로 설정해두면 편합니다.
8. GCP에 SSH키 추가
Compute Engine - 메타데이터 - SSH 키 클릭 후 복사해 둔 SSH 키를 추가하여 저장합니다.
9. SFTP 프로그램 실행
GCP서버와 데이터를 주고받을 FTP 프로그램을 설치합니다.
SFTP를 지원하며 무료인 파일질라를 설치하겠습니다.
10. 사이트 연결
(파일질라 기준)
① 사이트 관리자를 열어, ② 새 사이트를 만듭니다.
③ 프로토콜 - SFTP 선택, 호스트 - GCP VM인스턴스의 외부IP 기입, 사용자 - SSH키 생성 시 복사해둔 키코멘트, 키파일 - 저장한 프라이빗키 파일 경로를 선택합니다.
④ 모두 완료되면 하단의 연결을 클릭합니다.
11. 디렉토리 생성
GCP VM인스턴스의 연결(SSH)을 클릭하여 콘솔창을 띄웁니다.
테스트로 work라는 디렉토리를 생성하고, 모든 권한을 열어주고 확인해보겠습니다.
아래 코드를 한 줄씩 작성합니다.
sudo mkdir work #work 디렉토리 생성
sudo chmod 777 work #권한부여
ls -l #확인
work 디렉토리가 생성된 것을 확인할 수 있습니다.
12. 파일 전송
이제 FTP 프로그램에서 파일을 전송할 수 있습니다.
오른쪽 리모트 사이트를 user아래 만든 work로 설정하고,
왼쪽 로컬 파일 중 테스트파일 하나를 오른쪽 하단에 드래그앤드롭 하면 서버에 파일이 전송됩니다.
아래 코드를 콘솔에 입력하면 테스트 파일이 들어온 것을 확인할 수 있습니다.
cd work #change directory: 디렉토리 이동
ls -l
13. 방화벽 설정
마지막으로 방화벽을 설정합니다.
GCP에서 VPC네트워크 - 방화벽 클릭 후 방화벽 규칙 만들기를 클릭합니다.
규칙을 설정 후 만들기를 클릭합니다.
테스트 서버이므로 보안문제보다는 편의를 위해 프로토콜 및 포트를 모두 허용으로 설정했습니다.