VPS 웹 호스팅 프로젝트를 시작해본다.

웹 호스팅 서비스를 받지 않고, 직접 서버를 대여하여 가꾸는 것이다!
사실 웹 호스팅뿐 아니라 다양한 테스팅을 위해 서버를 대여하고 싶었다.

찾아본 곳 중 DigitalOcean 이라는 사이트가 있었다.
가장 저렴한 옵션으로 한달에 5딸라!

그리고 내가 적은 링크로 가입을 하게되면 10딸라를 준다.
고로 아래의 링크로 가입을 할 경우, 무료 2달을 체험할 수 있다.!

(본인만의 서버를 만져보고 싶고, 가꿔보고 싶은데 아직 잘 몰라서 서버 대여에 돈을 지불하기가 고민되는 분들은 일단 2달만 써볼 수 있는 좋은 기회이다!)


https://m.do.co/c/88300c36e548


요 링크로 들어가서 가입을 하고 Droplets를 생성할 수 있다.

Droplets 생성 방법은 직관적이어서 생략한다.
사용하고 싶은 운영체제를 선택하고 옵션을 선택하여 만드는 방식이다.

다 만들게 되면 아래와 같이 서버가 할당된다.



(서버 생성)


나는 리눅스 수업을 CentOS로 배웠어서 CentOS를 택했다.
우분투가 많이 사용하지만 우분투는 운영체제때만 잠깐 써봤던지라 CentOS가 더 친숙했다.

가입할 때 적은 메일로 편지 2통이 날라와 있다.

하나는 내가 CentOS를 선택했기 때문에 온건데
처음 설정하는 방법에 대해 알려준다. (매우매우 친절하다.!)

DigitalOcean의 장점 중 하나는 이것인거 같다.

서버에 대한 지식이 부족할 지라도 DigitalOcean에서의 튜토리얼도 있고 처음 시작할 때 뭐를 설정해야하는지 등등 매우 친절하고, 이런것을 직접 하므로써 공부도 많이 된다.




(설정 방법)



스텝별로 나와있다.

또 하나의 메일은 방금 생성한 서버에 대한 정보이다.



(서버 정보)



이 메일 안에는
IP주소, 처음 root의 비밀번호 등 서버에 관한 정보가 담겨있다.

나는 Xshell 을 이용하므로 Xshell로 나의 서버에 접속하였다.



(첫 접속)


두근두근
나의 첫 서버라니!(가상 사설서버이지만.!)

처음 들어가게 되면 비밀번호 치라고 나오는데, 아까 메일에서 적혀있는 비밀번호를 입력하면 된다.
그렇게 되면 이제 새로운 비밀번호를 치라고 나오는데 이것이 바로 root 계정의 비밀번호이다.

root 비밀번호도 새로 정했다면,
이제 내가 접속할 계정을 추가해야한다.
root 계정은 막강하고 중요하니까! 일반 계정을 하나 만들어주고, sudo 명령을 사용할 수 있도록 권한까지 부여할 것이다. 어찌보면 나의 부root계정인 셈이다.

아이디 생성


(계정 생성)



그 후 sudo 권한 즉 super user 권한을 줄것이다.
/etc/sudoers 라는 파일을 수정해야한다.

기본적으로 쓰기 권한이 없다. 그러므로 쓰기 권한을 추가하고 이 파일에 들어가서 수정해주어야한다.



(쓰기 권한 추가)


그 후 맨 아래에 다음 설정을 추가해준다.



(설정 추가)


위 설정은 normaltic이라는 나의 계정에 대해 supersuer권한을 주고
sudo 명령을 사용할 때 비밀번호를 묻지 않게 설정한 것이다.

설정이 끝나면 쓰기 권한을 제거해준다.



(쓰기 권한 제거)



그렇다면 normaltic 계정으로 들어가서 sudo 명령이 되는지 확인!



(확인)



잘된다!

자 이제 SSH키를 이용해 접속할 것이다.
이 부분은 DigitalOcean에서도 권장하는 방법으로 비밀번호로 로그인하는 것보다 더 안전하기 때문이다.
SSH 공개키를 이용하는 방법이다. 로컬 컴퓨터인 내가 쓰는 컴퓨터에서 키를 가지고 있고 그에 해당하는 공개키를 나의 서버에 저장해두는 것이다.
그렇게 하여 계정 비밀번호로 접속하는 것이 아니라 SSH 공개키 인증을 통해 접속하는 방법이다.
(SSH 원리가 궁금하다면 구글링!)

SSH 키 생성하는 방법은 여러가지가 있지만
Xshell에서 하는 방법을 이용했다.

도구 - 사용자 키 관리자

로 들어간다.



(사용자 키 관리자)



들어가게 되면 아래와 같은 창이 뜬다.



(사용자 키)


여기서 생성 버튼을 누른다.


(키 선택)



키의 유형과 키 길이를 선택할 수 있다.

그렇게 선택을 마치면 키를 생성한다.



(키 생성)



키 생성이 된 후

이 키를 사용할 때마다 사용할 암호를 정한다.



(사용자 키 암호)



??
비밀번호를 안쓴다고 했는데 왠 비밀번호?

SSH 키를 우리가 생성했고, 이 키를 이용해 접속한다고 했다. 즉, 계정의 비밀번호로 접속하는 것이 아니라 SSH 인증을 통해 접속한다.
그렇기에 이 키파일은 굉장히 중요하다. 만약 다른사람이 내 컴퓨터에 덜컥 앉아서 접속을 할 수도 있는것 아니겠는가? 그렇기에 이 키 파일에 접근하기 위한 비밀번호이다.

이제 등록된 공개키를 서버에 저장해야 한다.

SSH의 키 파일이 어디로 설정되어있는지 확인해보자.



(설정파일)



이 파일에서 확인해보면



(키파일 위치)



인증키파일 위치는 위와 같이 되어있다.
본인이 수정하고 싶으면 수정 할 수 있다. 해당 계정의 홈 디렉토리에서 위의 경로이다.

그렇다면 적어준다!


(인증키 설정)


위의 경로에서 아까 생성한 키파일 등록정보를 가보면 공개키를 볼 수 있다.
그 공개키를 위 파일에 저장한다.

그 결과 안되었다... CentOS는 조금 다른가보다.!
검색을 이리저리 뒤적거리다 보니 다른분이 이미 이것으로 많은 시간을 썼던 경험을 공유해주셨다.
그 분 덕분에 나는 조금 덜 헤멜 수 있었다.

아까 그 설정파일에서 주석처리 된 부분을 제거해주어야했다.



(주석 제거)



공개키인증을 사용하는 것에 있어 기본 설정으로 #이 붙어있으니 주석을 제거해준다.

그 후 권한 설정인데...
사실 이유는 잘 모르겠다. ~/.ssh/authorized_keys 권한 설정이 해당 권한보다 높으면 안된다니..

정확하게 .ssh 디렉토리 권한은 0700
정확하게 authorized_keys 파일의 권한은 0600
이보다 높아서도 안된다. 권한이 더 많으면 될 줄 알았는데 많으면 오히려 안된다고 한다..

권한 설정!



(디렉토리 권한)



(키파일 권한)



그 후 SSH로 접속해본다.


(접속 성공)



SSH 설정까지 꽤 오랜 시간이 걸렸다.

+ Recent posts