AWS EC2 우분투(ubuntu)에서 gui로 원격 연결하기


cli로 클라우드에서 계속 사용하다가 도저히 이렇게는 관리가 안될것 같아 gui를 설치하기로 했다.

cli도 아는 사람만 알지 모르는 사람입장에서는 세상 답답한게 cli니까 말이다.

우선 나는 클라우드는 처음 써봤다.

물리적인 서버만 다뤄봤기에 ‘원격 데스크톱 연결’만 항상 사용했는데,

클라우드에서는 보통 리눅스계열 서버를 사용하기에 이번에는 우분투를 설치해보았다.

사실 리눅스로 설치했는데 정보가 너무 없어서 리눅스말고 우분투로 설치했다.

(아니 근데 그나저나 나는 aws 로그인을 2중보안으로 걸어놨는데 authy없으면 로그인 자체가 안되는 상태가 되어버렸…

근데 그 authy가 꼬여버려서 지금 aws로그인 자체가 안된다 미쳐버리겠음 ㅠㅠㅠ 그래서 친한언니껄루 함ㅠㅠ)

AWS Management Console 에 들어가면 EC2로 들어간다.

aws

들어간뒤 인스턴스를 시작한다.

aws

나는 우분투 선택했음

aws

aws는 일정 양 이하로 사용했을때 1년치를 무료로 제공해준다(일정 양 이상으로 쓰면 요금 부과됨)

t2.micro를 선택하면 됨.

aws

이렇게 시작하면 프라이빗 키를 발급해준다. aws에서는 pem파일로 준다

(보관 잘 해놓으시길. 잃어버리면 다시 찾을 방법이 없다고 한다. 이 키가 없으면 권한을 안주니 관리 잘해야한다)

(비록 내가 mac으로 하다가 포기했지만..)

윈도우에서는 리눅스로 연결하려면 putty가 있어야 한다.

리눅스에서 연결을 하려면 ssh로 IPv4 퍼블릭 IP로 연결을 해준다.

들어가게 되면 우분투인 경우에는

$ login as: ubuntu

로 로그인 하면되고 linux인 경우에는 ec2-user로 로그인하면 된다.

처음에 연결하는게 너무 어려웠는데

aws

이 연결 버튼을 누르면 ssh -i ~~~~~~~라면서 명령어가 친절하게 나와있다….

처음에 이거몰라서 직접 타이핑했음^^

원리는

$ ssh -i "프라이빗 키 경로.pem" ubuntu@퍼블릭 DNS(IPv4)이다

맨 처음 이렇게 입력한 후 ssh연결을 해주면

$ ubuntu@ip-아이피넘버:~$

이런식으로 로그인이 된다.(짱싱기방기)

(만약 이 방법대로 하지 않을거면 putty에서 ssh Auth로 인증하는 방법도 있다. 거기다 그냥 pem파일을 넣으면 된다. 근데 위도우에서는 pem파일은 못읽고 ppk만 읽을 수 있어서 ppk로 변환해주어야함)

이제 서버에 접속권한이 생긴거시다..!

(여기까지 썼는데 힘들다…. 영상 찍고싶다..)

아무도 안가르쳐주는 이 원리에 대해서 먼저 설명하고 싶다.

우리가 아는 cli는 cli대로, gui는 gui대로 따로 설정을 해주어야 하는거시다ㅏㅏㅏㅏㅏ

cli에서 설정해주고, 그 열린 서버를 가지고 원격데스크탑을 이용을 하던지 vnc를 이용을 하던지 해서 그곳으로 따로 들어가는 것이다

cli를 대신해서 뜨는 것이 아님

삽질하다보니 그냥 대강 개념은 잡히긴 하는데 리눅스는 정말이지 아직도 낮설엉 흑흑

cli에 들어가서 ip로 권한이 생겼으면

 sudo apt-get install ubuntu-desktop
 sudo apt-get install vnc4server
 sudo apt-get install gnome-panel

위 명령어로 설치를 해준다.

설치하는데 좀 시간 걸림. 한 5분정도?

그리고

$ vncserver

라고 명령어를 치면 처음에는 아마 비번 세팅해야한다고 할것이댱

비번은 잘 기억해두도록 하자. 왜냐면 좀이따 gui연결하려고 할때 비번 물어보니까능

그리고 나서는 화면에

New 'X' desktop is ip-프라이빗아이피:1

Starting applications specified in /home/ubuntu/.vnc/xstartup
Log file is /home/ubuntu/.vnc/ip-프라이빗아이피:1.log

뭐 이런식으로 뜰꺼다.

그러면 그 살아있는 vncserver를 죽이도록 하자.

$ vncserver-kill :1

살아있는 vnc서버1번을 죽인다는 말(같다. 나도 잘 멀름)

그리고 나서는 .vnc 폴어에 있는 xstartup이라는 파일을 수정해주어야 한다.

이때 nano라는 명령을 사용하는게 편하다.

우선은

$ ls -a 
>> 라고 치면 내가 현재 있는 디렉토리에 있는 모든 폴더와 파일들이 나올건데 거기 보면 그 중에 하나가 .vnc라는 게 있을 거다. 그럼 글로 움직이도록 하쟈
$ cd .vnc
>> .vnc폴더로 들어왔다
$ cat xstartup
>>이라고 치면 xstartup의 내용들이 보이는데, 우린 얘를 편집해야하니까 nano를 사용하도록 하자
$ nano xstartup
이라고 하면
갑자기 화면이 바뀌면서 내가 뭘 막 쓸 수 있도록 나온다.
거기다가

 #!/bin/sh
 # Uncomment the following two lines for normal          desktop:
 unset SESSION_MANAGER
 # exec /etc/X11/xinit/xinitrc
 gnome-session –session=gnome-classic &
 gnome-panel&
 
위 내용을 복붙하고 ctrl+x를 누른다. 그러면 나갈거냐고 물어보고 저장할거냐고 물어본다. 그때 yes인가 y누르면 됨.

그럼 xstartup파일의 내용을 변경완료헸다.

그리고 다시
$ vncserver
라고 명령해준다. 서버 다시 띄우기

이렇게 서버를 세팅해준뒤에는 이 서버와 gui를 연결해줄 무언가가 필요하다.

tightvnc 을 사용했다.

다운로드 받아서 설치한 뒤 얘를 연결하면 되지 않나 하겠지만, 아직 좀 더 남았다.

이제는 aws에 가서 설정을 해주어야 한다.

5901 포트를 사용하겠다고 미리 알려주어야 한다. 왜 5901인지는 나도 모른다….

aws

편집에 들어가서 추가 혹은 삭제를 하면되는데 source를 위치 무관으로 하면 자동으로 2개를 잡는다.

이렇게 설정을 해주고

(저 RDP는 내가 하도 안되서 이것저것 된다는거 다 설치해보느라 저렇게 되어있음)

TightVNC에 들어가서 IPv4 퍼블릭 IP를 넣고 (예를 들자면 111.111.111.11) :: 포트번호(5901)

를 적어주면 된다.

헐 그러니까 갑자기 비번치라고… 흑흑 감덩

비번치고 들어갔더니

aws

하 뜬다….ㅠㅠ

다들 엄청 쉽게 하는것처럼 말하는데 1 도 안된다구요 흑흑

글고 이거는 뭐 클라우드 처음써본 사람이나 리눅스 처음써본 사람들은 정말 어렵겠다 생각은 들었다 ㅠㅠ

나도 시간 좀 걸렸으니 ㅠㅠ

근데 이렇게 글보다는 확실히 유튭으로 알려주는게……100배는 좋은것 같다

조만간 이런 삽질기를 녹화해서 올려볼까?.?

은근 필요한 사람들 많을것 같은디…




© 2018. by sora

Powered by sora