이제 지난 글에서 아마존 라이트세일(Amazon Lightsail)에 생성한 인스턴스에 SSH로 접속해 봅니다.
이 글에서는 iTerm을 이용해서 SSH로 터미널 접속하는 것과, Transmit을 이용해서 SFTP로 접속하는 것을 보게될 것입니다.
(두 프로그램은 MacOS용 소프트웨어 입니다. 여기서는 맥을 이용할 것이지만, 윈도우 사용자라면, iTerm 대신 Putty를, Transmit 대신 WinSCP나 FileZillar등을 이용하면 됩니다.)
1. 접속 정보 확인, 키 파일 다운로드
(1) 접속 정보 확인
아마존 라이트세일에 로그인하면, 지난 글에서와 같이 생성된 인스턴스가 나옵니다.
(!) 주의
인스턴스가 생성되면 요금이 부과되기 시작합니다. (단, 무료 기간 제외) 이 글을 쓰는 시점 기준, 인스턴스가 실행 중이든지 중지 상태인지와 상관 없이 요금 부과 대상입니다. 요금이 부과되지 않도록 하려면 인스턴스를 삭제 해야 합니다. 나중에 재 사용해야 한다면 스냅샷을 만드는 방법이 있습니다. 단, 스냅샷도 요금이 부과됩니다만, 상대적으로 매우 저렴합니다.
인스턴스 오른쪽의 점 3개가 붙어 있는 메뉴 버튼을 누르면 위 화면 처럼 메뉴가 뜹니다. [관리]를 누릅니다.
'관리'화면을 볼 수 있습니다. 여기서는 연결, 지표, 네트워킹, 스냅샷, 인스턴스 삭제등 선택한 인스턴스에 관한 관리를 할 수 있습니다.
이 화면에서 위에 모자이크 처리한 '퍼블릭 IP' 주소와 '사용자 이름'을 잘 기억해 둡니다. (어디에 적어 두셔야 할듯)
퍼블릭 IP는 보안상 모자이크 처리했지만, 사용자 이름은 아마존 리눅스로 인스턴스를 생성하면 다 똑같게 'ec2-user'가 기본 생성되기 때문에 그대로 표시하였습니다.
사용자 이름이 보안상 불안하다면 나중에 리눅스 터미널에서 리눅스 명령어들을 통해 직접 바꾸면 됩니다.
위 화면에서 [SSH를 사용하여 연결]을 누르면...
이렇게 브라우저 기반의 터미널이 실행 됩니다. 여기서 간단한 작업을 할 수도 있습니다.
다만, 이렇게 콘솔이 잘 나타나는 경우가 있는가 하면, 원거리에 있는 서버의 경우 (예를 들어, 본인은 한국에 있는데 서버 인스턴스는 미국에 있는 경우와 같이 서버가 멀리 있는 경우) 저 화면이 아무리 기다려도 나타나지 않을 때가 있습니다.
그리고, 우리는... 터미널 프로그램을 써야 폼이 나죠. ㅡ,.ㅡ
그럼 이제 키 파일을 다운로드 받아 보죠.
(2) 키 파일 다운로드
아마존 라이트세일 인스턴스에 터미널등 외부에서 접근하기 위해서는 키 파일이 필요합니다. 보통은 사용자 아이디와 패스워드의 조합으로 리눅스에 로그인 하지만, 아마존의 경우는 기본적으로 보안성 강화를 위해 암호를 입력하는 것이 아니라 암호화 키 파일을 통해 접근하도록 되어 있습니다.
그러면 키 파일을 다운로드 받아 봅시다.
키 파일은 계정 메뉴에서 다운로드 받을 수 있습니다.
관리 화면의 우측 상단 [계정]을 누르면 팝업 메뉴가 나옵니다. 팝업 메뉴의 [계정]을 누릅니다.
계정 관리 화면이 나옵니다. 리전 옆에 [다운로드]를 눌러 키 파일을 다운로드 받습니다.
(여기서 키를 새로 생성 할 수도 있고, 또는 본인이 PC에서 직접 만든 키 페어 파일을 업로드 하여 사용 할 수도 있습니다. 여기서는 아직 키를 새로 생성한 적이 없기 때문에, 서버 인스턴스가 만들어졌을때 자동으로 생성된 기본 키 파일을 다운로드 받게 됩니다.)
다운로드 받은 키 페어 파일을 안전한 곳에 잘 보관 합니다.
(!) 매우 중요
다운 받은 키 파일은 관리를 매우 잘해야 합니다.
키 파일을 읽어 버리면 다시는 생성한 서버 인스턴스에 로그인 할 수 없게 됩니다. 서버를 지우고 첨부터 다시 만들어야 합니다.
반대로 키 파일이 다른 사람에게 유출되면 다른 누군가가 내 서버에 접속 할 수 있게 됩니다.
자 이제 터미널 프로그램으로 내 서버에 로그인 해 봅시다.
2. 터미널 접속
이제 터미널을 통해 서버 인스턴스에 접속해 봅시다. 터미널은 본인이 편한것을 사용하면 됩니다. 저는 iTerm 이라는 프로그램이 편하므로 #iTerm을 이용해서 접속해 보겠습니다. (윈도우 사용자는 Putty를 많이 사용하는 것으로 압니다.)
먼저 iTerm 을 실행합니다. (혹시 맥 사용자 중 기본 터미널만 사용하시는 분이라면 iTerm을 검색해서 다운로드 받으면 편리합니다.)
[Profiles] - [Open Profiles...] 를 클릭합니다.
[Edit Profiles...]를 클릭합니다.
좌측 아래의 [+] 버튼을 눌러 새로운 프로필을 만듭니다.
'Name' 항목에 알아보기 쉽게 원하는 이름을 기록합니다.
중요한건 아래 'Command' 란입니다. 'Command'옆의 동그라미 체크를 눌러 입력상태로 만들고 아래와 같은 형식으로 입력합니다.
ssh -i (키 페어 파일 경로) (사용자 이름)@(서버 IP 주소)
키페어 파일 경로는 조금전에 다운로드 받은 키 페어 파일이 있는 경로와 파일 이름을 적어 줍니다.
서버 IP 주소는 조금전에 알아둔 서버 인스턴스의 퍼블릭IP를 적습니다.
예를 들어 키 페어 파일 이름이 'my_key.pem' 이고 '(홈디렉터리)/my_keys'라는 디렉터리에 있다면, 그리고 서버 IP 가 '123.123.123.123' 이라면, 또한 사용자 이름이 'ec2-user' 일 경우는 아래와 같이 입력하게 될 것입니다.
예) ssh-i ~/my_keys/my_key.pen ec2-user@123.123.123.123
입력 했으면 접속해 봅시다.
iTerm 메뉴의 [Profiles]에서 방금 생성한 프로필을 클릭하여 접속 합니다.
처음 접속하면 서버에 접속하려는것이 확실한지 물어보고 해당 키에 관한 핑거프린트를 확인합니다. 한번만 해주면 다음에는 물어보지 않습니다. 'yes'를 입력합니다.
로그인 되었네요.
이제 SFTP 로 접속해 봅니다.
3. SFTP 접속
SFTP는 이름에 FTP가 붙어 있으나 사실은 SSH를 이용한 파일 전송 방법입니다.
여기서는 Transmit 이라는 소프트웨어를 사용해 서버 인스턴스에 접속해 봅니다. 참고로 Transmit은 맥용 파일전송 프로그램이며 유료 소프트웨어 입니다. 제가 써본 것 중에서는 가장 편하고 문제가 없었기에 자주 사용하고 있습니다. (더군다나 드롭박스나 구글드라이브 같은 클라우드에도 접속하기 편리하더군요.)
무료 프로그램을 사용하실 분은 FileZillar나 CyberDuck 등을 사용할 수도 있습니다. 윈도우 사용자는 CyberDuck이나 FileZillar, WinSCP등을 사용 할 수 있습니다.
먼저 Transmit 을 실행합니다.
하단의 [+] 를 눌러 새 프로필을 추가해 보겠습니다.
'SFTP'를 선택하고 적당한 이름을 입력한 후 [Next] 버튼을 누릅니다.
라이트세일 관리페이지에서 적어둔 서버 인스턴스의 퍼블릭 IP와 사용자 이름을 입력합니다.
그리고 Password 칸은 비운채로 두고 우측의 열쇠모양 아이콘을 클릭합니다.
'Keys' 팝업이 뜨면 [Edit] 버튼을 누릅니다. (이 팝업에 전에 등록해 둔 키 파일이 있다면 목록 형태로 나타나게 됩니다.)
키 설정 팝업이 뜹니다. 왼쪽 하단의 [+] 버튼을 누르면 나오는 팝업 메뉴에서 [Import Keys...]를 클릭합니다.
여기에서 아마존 라이트세일 관리 화면에서 다운로드 받은, 고이고이 모셔둔 키 페어 파일을 선택하고 [Import] 버튼을 누릅니다.
이제 Transmit 키 파일 목록에 선택한 키 파일이 나타났습니다. 이 팝업 화면을 닫습니다.
이제 다시 설정 중인 프로필에서 Password 항목 오른쪽의 열쇠 모양 아이콘을 누르면, 서버 인스턴스의 키 페어 파일이 목록에 나옵니다. 선택합니다.
Password 칸에 선택한 키 파일이 표시됩니다.
이제 [Save] 버튼을 눌러 프로필 설정을 저장합니다.
이제 Transmit 서버 선택 화면에 방금 추가한 서버 인스턴스가 표시되는 것을 볼 수 있습니다.
더블 클릭하여 접속해 봅니다.
접속하면 서버 인스턴스의 홈 디렉터리로 들어갑니다. 아직은 파일이 아무것도 없네요.
[Command + 윗방향화살표] 를 눌러 상위 디렉터리로 올라가 볼까요?
홈 디렉터리가 보이네요. 한번 더 올라가 볼까요?
서버 인스턴스의 루트 디렉터리까지 올라가 봤습니다.
참고로 권한이 루트권한이 아닌 이상 아직은 홈 디렉터리 밖에 파일을 올릴 수 없습니다.
조금 후에 워드프레스 파일을 올리려면 아파치 웹 루트 디렉터리에 파일을 올릴 수 있는 권한이 있어야 하겠죠? 그건 그때 가서 설명 드리겠습니다.
다음 글에서는 생성산 서버 인스턴스 (운영체제는 아마존 리눅스)에 APM (Apache + PHP + MySQL)을 설치합니다.
(C) 2017 WingsNote.com (무단 복제 및 게시 금지, 링크 허용)
'서버 > AWS (Amazon Web Services)' 카테고리의 다른 글
Amazon Lightsail 여러개의 워드프레스 사이트 설치 (4) - MySQL UTF-8 설정 (0) | 2017.11.03 |
---|---|
Amazon Lightsail 여러개의 워드프레스 사이트 설치 (3) - Amazon Linux에 APM 설치 (3) | 2017.11.03 |
Amazon Lightsail 여러개의 워드프레스 사이트 설치 (1) - 인스턴스 생성 (0) | 2017.11.03 |
[AWS의 기본 09] NGINX를 node.js의 프록시로 설정하기 (8) | 2014.07.29 |
[AWS의 기본 08] EC2 인스턴스에 도메인 연결 (Route53) (18) | 2014.07.29 |