저번에는 인스턴스를 AWS상에서 구동시키는 것을 알아보았습니다.

 

이번에는 우리가 흔히 이야기하는 CLI(Command Line Interface)상에서 인스턴스에 접속하여 인스턴스를 직접 사용해보도록 하겠습니다.

 

OS별로 접속할 수 있는 방법이 다릅니다.

 

Linux계열-

      의외로 가장 간단합니다.

      ssh -i [*.pem이 들어있는 주소] ubuntu@[인스턴스 ip 주소]

      로 치면 접속이 됩니다.

      여기서 대괄호 안에 있는 내용은 적당하게 바꿔주셔야 합니다. 예를들어 ssh -i ~/.ssh/asdf.pem ubuntu@11.22.33.44 같은 식입니다.

      인스턴스 ip 주소는 저번 포스팅에서 만들어서 인스턴스에 붙였던 탄력적 ip 입니다.

      @ 앞에가 ubuntu인 것은 저번 포스팅에서 만든 인스턴스의 OS가 ubuntu이기 때문입니다.

 

Mac계열-

      Linux계열과 거의 비슷하지만 몇가지 팁이 있습니다.

      보통 *.pem파일은 .ssh 폴더에 넣어서 보관하게 되는데, mac의 경우 GUI상에서 .ssh폴더를 찾기가 쉽지 않습니다. 여기서 Finder 상에서 디렉토리를 직접 입력할 수 있는 방법이 있습니다. 먼저 [command+shift+g]를 누르면 직접 디렉토리를 키보드로 작성할 수 있는 창이 새로 열리게 되는데 여기서 [~/.ssh]라고 치게 되면 .ssh 폴더로 finder가 이동하게 됩니다. 여기서 *.pem 파일을 옮기고, mac의 terminal 창에 linux와 마찬가지로

      ssh -i ~/.ssh/[pem이름].pem ubuntu@[인스턴스 ip 주소] 를 쳐 주시면 접속이 됩니다.

      여기서 대괄호 안에 있는 내용은 적당하게 바꿔주셔야 합니다. 예를들어 ssh -i ~/.ssh/asdf.pem ubuntu@11.22.33.44 같은 식입니다.

      인스턴스 ip 주소는 저번 포스팅에서 만들어서 인스턴스에 붙였던 탄력적 ip 입니다.

      @ 앞에가 ubuntu인 것은 저번 포스팅에서 만든 인스턴스의 OS가 ubuntu이기 때문입니다.

 

Windows계열-

      사실 접속 방법이 가장 어렵습니다. 방법도 복잡하구요...

      Windows에서는 리눅스계열처럼 CLI자체로 접속할 수 있는 방법은 없고 PuTTY라는 프로그램을 따로 설치하여 진행하여야 합니다.

      PuTTY 프로그램은 https://www.chiark.greenend.org.uk/~sgtatham/putty/에서 다운로드 받으실 수 있습니다.

      1) PuTTY를 설치합니다.

      2) PuTTY프로그램은 .pem파일 형식을 지원하지 않기 때문에 .ppk파일 형식으로 변환해 주어야 합니다. 이를 위해 윈도우즈 검색창에 PuTTYgen을 검색하여 실행합니다.

      3) 생성할 키 유형(Type of key to generate)에서 RSA를 선택합니다. 여담으로 RSA는 공개키 방식의 암호화 알고리즘으로 Rivest, Sharmir, Adleman 세 명의 이름을 따서 RSA 알고리즘으로 부릅니다.

          *혹시 RSA가 보이지 않는 경우 PuTTY 버전을 확인해주시기 바랍니다. 최신형의 PuTTY가 아닐 수 있습니다. 이 경우 SSH-2 RSA로 선택하면 되긴 하지만 앞으로를 위하여 최신버전을 사용하는 것이 좋을 것 같습니다.

      4) 화면 중간의 버튼들 중 Load버튼을 누릅니다. 기본적으로 .ppk파일만이 새로운 창에서 나타나므로 파일이름 옆의 PuTTY Private Key Files (*.ppk) 라고 나와있는 드랍다운 박스를 눌러 All Files (*.*)을 눌러 .pem 파일을 찾아서 열기를 누릅니다.

      5) 여기서 아무것도 건드리지 않고 Load 아래있는 Save private key버튼을 눌러줍니다. 암호를 걸지 않았다는 경고가 뜨면 그냥 yes를 눌러 암호 걸지 않고 진행 합니다.

      6) 이후 저장할 위치가 나오면 적당한 위치를 선택한 뒤 ppk파일의 이름을 입력하고 저장을 누릅니다.

      이로써 PuTTY로 SSH접속을 하기 위한 ppk 파일을 생성하는 것을 마쳤습니다. 그러나 사실 PuTTY로 리눅스 시스템에 접속하기 위해서는 앞으로 더 많은 과정이 남았습니다...

      1) 이번에는 PuTTY를 켜주세요.

      2) 켜자마자 나오는 Host name 란에 ubuntu@[인스턴스 ip 주소]를 써 줍니다. 여기서 인스턴스 ip 주소는 저번 포스팅에서 인스턴스를 만든뒤 붙여주었던 탄력적 아이피의 주소입니다.

          *여기서 ubuntu는 '사용자 이름'인데 저번에 만들었던 인스턴스가 ubuntu였기 때문에 이렇게 바로 사용하면 됩니다. 그러나 다른 AMI를 사용하시는 경우에는 username이 달라집니다.

               아래는 AWS 홈페이지에서 가져온 내용입니다.

                    Amazon Linux 2 또는 Amazon Linux AMI의 경우 사용자 이름은 ec2-user입니다.
                    Centos AMI의 경우 사용자 이름은 centos입니다.
                    Debian AMI의 경우 사용자 이름은 admin 또는 root입니다.
                    Fedora AMI의 경우 사용자 이름은 ec2-user 또는 fedora입니다.
                    RHEL AMI의 경우 사용자 이름은 ec2-user 또는 root입니다.
                    SUSE AMI의 경우 사용자 이름은 ec2-user 또는 root입니다.
                    Ubuntu AMI의 경우 사용자 이름은 ubuntu입니다.
                    ec2-user 및 root를 사용할 수 없는 경우 AMI 공급자에게 문의하십시오.

      3) 그 옆에 칸인 Port가 22로 제대로 적혀있는지 확인해주십시오.

      4) Connection type 에서 SSH를 선택해 주시면 첫 화면에서 할 일은 다 끝났습니다.

      5) 이후 왼쪽의 디렉토리 구조에서 Connection>SSH옆의 +단추>Auth를 차례대로 클릭해줍니다.

      6) 화면의 오른쪽 중간 쯤에 있는 Browse를 클릭하고 .ppk 파일을 찾아준 뒤 열기를 눌러줍니다.

      7) 모든 세팅이 끝났습니다. 여기서 바로 PuTTY 창 맨 아래에 있는 Open을 선택하면 인스턴스에 연결이 됩니다. 그러나 이 모든 과정을 매번 하기엔 귀찮으므로 현재 설정상태를 저장할 수 있습니다. 왼쪽 디렉터리 Session을 클릭하면 중간에 Save Sessions가 있습니다. 여기에 이름을 지어주고 오른쪽 중간의 Save버튼을 누르면 지어준 이름대로 목록에 항목이 생성되는 것을 보실 수 있습니다. 다음부터는 PuTTY를 연 뒤 이 항목만 더블클릭하면(혹은 항목 선택 후 오른쪽의 Load 클릭 후 Open클릭) 바로 AWS 인스턴스에 접속할 수 있습니다.

      8) 고급세팅으로 keepalive라는 것을 설정할 수 있습니다. AWS는 사실 얼마간 입력이 없으면 자동으로 서버측에서 세션을 종료시켜버리기에 일정 주기마다 keepalive신호를 발생시켜 서버가 꺼지지 않게 하는 것인데요, 이를 위해서는 왼쪽 디렉터리에서 Connection을 클릭한 뒤 Seconds between keepalives 에 있는 값을 적당히 설정해주면 됩니다. 저는 그냥 단순하게 1분마다 keepalive신호를 발생시키도록 60을 입력해놓았습니다.

 

 

이로써 인스턴스에 접속까지는 전부 끝냈습니다.

 

이제 파일을 주고 받을 때 매번 AWS를 통하거나 CLI에서 사용하기 힘드므로 FileZila를 통하여 FTP환경을 구축하고 실제로 인스턴스 상에 파이썬을 설치하여 뭔가 서버로서의 기능을 할 수 있게 만들어 보겠습니다.(그런다고 flask처럼 본격적인 웹 서비스용 서버가 아닌 그래도 뭔가가 돌아가는 서버...)

그리고 이후에 시간이 된다면 jupyter notebook도 서버에서 돌려보도록 하겠습니다.

 

+ Recent posts