WinSCP와 PuTTY를 이용해서 AWS EC2 인스턴스에 접속하기

콜트·2021년 1월 6일
0

WinSCPPuTTY

Windows 운영체제에서 Unix 계열 플랫폼 서버(본 글에서는 Ubuntu를 사용한다)를 이용할 때, 원격 접속을 지원하는 SSH(Secure Shell) 프로그램을 이용하게 되는데, 대표적으로 PuTTYWinSCP가 있다. Putty를 이용하여 AWS EC2 인스턴스에 원격으로 접속할 수 있고, WinSCP를 이용하여 파일을 전송할 수 있다.

  • PuTTY

    • Windows 계열 OS에서 이를 통해 편리하게 리눅스 Shell 이나 Terminal을 이용할수있다.
    • Windows에서 PuTTY를 설치하고 EC2 인스턴스의 리눅스에 접근할 수 있도록 ssh 설정한다.
    • AWS 콘솔을 통하여 EC2 인스턴스를 생성하게 되면 SSH 접속을 위한 Key pair 를 사용하게 된다.
    • test.pem 과 같이 pem 형식의 파일을 다운로드 받을 수 있다. Windows 사용자의 경우에는 PuTTY 에서 PEM 파일을 지원하지 않기 때문에 별도의 PPK 파일을 생성하여야만 Linux 인스턴스에 접속이 가능하다.
    • 인스턴스를 시작한 후 인스턴스에 연결하고 바로 앞에 있는 컴퓨터를 사용하는 것처럼 인스턴스를 사용할 수 있다.
  • WinSCP

    • GUI로 표현된 FTP, SFTP 툴이며 드래그 앤 드롭 등을 지원하는 아주 유용한 툴이다.
    • WinSCPWindows용 그래픽 SFTPFTP 클라이언트 프로그램이고, 오픈 소스 프리웨어이다. 이 프로그램을 사용하여 로컬 컴퓨터와 원격 컴퓨터 간에 안전하게 파일을 복사할 수 있다.

여기에서는 WinSCP를 이용하여 진행하도록 한다.

WinSCP 및 PuTTY 설치 및 설정

  1. 먼저, WinSCP를 참고하여 WinSCP를 설치한다.

  2. 설치된 Setup 파일을 실행해서 설치를 완료한 뒤 실행하면 다음과 같은 화면이 나온다(특별히 설정할 것 없이 다음 버튼만 누르면 된다).

  3. 처음에는 어떤 서버의 계정을 접근할건지 선택을 하거나 새 계정을 만들 수 있는데, 처음 설치를 하면 새 사이트를 선택해서 서버(여기서는 AWS EC2 인스턴스)를 등록하면 된다. 연결해줄 프로토콜 방식(본인은 SFTP를 선택했다)을 선택하고 다음으로는 먼저 생성해둔 EC2 인스턴스퍼블릭 IPv4 주소를 복사해서 호스트 이름에 입력해준다(생성한 EC2 인스턴스에서 확인할 수 있다). 포트 번호는 자동으로 22로 할당되어 있으므로 그대로 둔다.

  4. Amazon Linux 인스턴스의 사용자 계정 관리를 참고해보면, Ubuntu AMI의 경우 사용자 이름은 ubuntu이므로 사용자 이름에 ubuntu를 입력해주고, 현재는 비밀번호가 따로 없는 상태이므로 비워둔다.

  5. 하지만 EC2 인스턴스에 접근하기 위해서는 키 페어가 있어야만 한다. 좌측의 [고급 - SSH - 인증] 메뉴를 살펴보면 개인키 파일을 지정할 수 있다. 여기에 EC2 인스턴스를 생성하면서 받은 pem 파일을 넣으면 변환할 것인지를 묻는다. 확인을 눌러 변환한 다음, 변환된 ppk 파일의 경로가 잘 입력된 것을 확인했다면 로그인 화면으로 돌아온다.

  6. 로그인 화면에 돌아와서는 방금 했던 설정 값을 저장해준다. 저장 버튼을 눌러서 다음에 세션 저장에 원하는 세션 이름을 넣고 저장해준다. 저장한 세션을 선택하고 로그인을 누르면 호스트 키를 캐시에 추가할 것인지 묻는데, 를 누르고 넘어간다(정확한 목적이 무엇인지는 공부해야할 것 같다).

  7. AWS에서 생성한 EC2 인스턴스와 잘 연결되었다면 다음과 같은 화면이 나올 것이다. 이는 가상 머신에 Ubuntu를 설치했을 때 볼 수 있었던 GUI 환경에서 폴더 구조를 볼 수 있는 것과 마찬가지로 AWS에서 대여한 EC2 인스턴스 서버의 폴더 구조를 보여주는 것이다. 좌측이 로컬 컴퓨터, 우측이 원격 컴퓨터(서버)이다.

  8. 위쪽의 메뉴를 살펴보면 PuTTY에서 열기(Ctrl + P)가 있는데, 클릭해보면 터미널 환경에서 EC2 인스턴스 서버를 다룰 수 있게 된다. 단, PuTTY가 설치되어 있어야한다.

  9. PuTTYPuTTY: a free SSH and Telnet client에서 다운로드 할 수 있다. 본인 컴퓨터의 비트 수에 맞는 putty.exe를 다운로드하자.

  10. PuTTY를 다운로드를 했다면 WinSCP에서 PuTTY로 실행하기 위해 PuTTY의 경로를 설정해줘야 한다. 위쪽에 톱니바퀴 모양의 설정 아이콘을 클릭한 뒤, 좌측 메뉴에서 [통합 - 프로그램] 탭으로 들어가면 PuTTY/터미널 클라이언트 경로를 설정할 수 있는데, 여기에 방금 설치한 putty.exe 파일의 디렉토리를 설정해준 뒤, 확인을 누른다.

  11. 다시 PuTTY에서 열기 아이콘을 누르면 EC2 인스턴스와 연결되어 명령줄로 작업할 수 있는 터미널이 열리게 된다. 이로써 EC2 인스턴스 서버에 NGINX, MySQL, PHP (LEMP) 환경을 구축할 준비가 완료되었다.


참고자료


profile
개발 블로그이지만 꼭 개발 이야기만 쓰라는 법은 없으니, 그냥 쓰고 싶은 내용이면 뭐든 쓰려고 합니다. 코드는 깃허브에다 작성할 수도 있으니까요.

3개의 댓글

comment-user-thumbnail
2021년 10월 13일

감사합니다!!

1개의 답글
comment-user-thumbnail
2023년 7월 5일

감사합니다!!

답글 달기