- 게시일
NAVER Cloud Platform 서버 초기 설정하기

date
Oct 26, 2023
slug
naver-cloud-platform-서버-초기-설정하기
status
Published
tags
Ubuntu
Server
NAVER Cloud Platform
summary
클라우드 서버 초기 설정
type
Post
서버 생성
간단하게 Next.js 프로젝트를 배포할 용도로 서버를 사용할 예정이므로 Classic 서버를 생성한다.
서버 생성 과정
1. 서버 생성 클릭

2. 원하는 구성을 선택하고 다음 클릭

3. 원하는 서버 타입 선택 후 다음 클릭

4. 인증키 생성, 저장 후 다음 클릭

5. 기본 ACG 선택 후 다음 클릭

6. 서버 생성 클릭

ACG 설정
ACG(Access Control Group)는 서버 간 네트워크 접근 제어 및 관리를 할 수 있는 IP/Port 기반 필터링 방화벽 서비스다.
기본 ACG는 원격 접속 포트(22, 3389)에 대해 전체 IP가 허용되어 있다. 보안을 위해 지정된 IP에서만 접속할 수 있도록 수정한다.
ACG 설정 과정
1. ACG 설정 클릭

2. 다음 항목을 삭제한다.

3. IP와 포트 지정 후 추가, 적용 클릭

초기 서버 접속
웹 서비스 배포를 위해 공인 IP를 발급받는다.
초기 서버 접속은 관리자 비밀번호 확인을 통해 진행해야 한다.
관리자 비밀번호 확인 과정
1. 서버 관리 및 설정 변경 → 관리자 비밀번호 확인 클릭

2. 서버 생성 시 발급 받은 인증키 첨부 → 비밀번호 확인 클릭

3. 관리자 비밀번호 확인

다음 명령어로 서버 접속을 진행하고 관리자 비밀번호를 입력하여 접속한다.
ssh root@<서버 공인 IP 주소>
사용자 계정 추가하기
서버 생성 후 초기에는 root 계정만 존재한다. root 계정만 사용한다면 실수로 시스템을 잘못 건드릴 수 있으니 사용자 계정을 추가하는 것이 좋다.
계정 추가 과정
1. home 이동
cd ~
2.
adduser
명령어로 계정 추가, 패스워드 지정adduser <계정명>

계정 추가가 완료되면 ssh 접속 시 해당 계정으로 접속할 수 있다.
ssh <계정 명>@<서버 공인 IP 주소>
새로 만든 계정은 sudo 명령어를 사용할 수 없기 때문에 sudoers 파일에 계정을 추가해야 한다.
sudo 권한 부여 과정
1. root 계정으로 전환
su root
2.
/etc/sudoers
파일 편집다음 명령어로 파일을 편집한다.
visudo
User privilege specification
항목 아래에 계정 정보를 추가한다.<계정 명> ALL=(ALL:ALL) ALL
SSH 접속 방식 변경
서버 생성 후 초기 SSH 접속 방식은 계정 비밀번호를 입력하여 접속하는 방식이다.
비밀번호 방식의 경우 비밀번호를 외우기 힘들어서 간단하게 설정하거나, 아무곳에나 기록하는 등 보안적으로 취약하다. 따라서 key 인증 방식으로 변경하는 것이 좋다.
Key 인증 방식 변경 과정
1. key 생성
ssh-keygen -t rsa -b 4096 -f <키 이름>
명령어가 수행되면 명령어가 수행된 위치에 공개 키(
<키 이름>.pub
)와 개인 키(<키 이름>
)가 생성된다.2. 공개 키 전달
개인 키는 서버에 접속할 클라이언트가 사용하고 공개 키는 접속하고자 하는 서버가 사용한다. 다음 명령어를 통해 서버로 공개 키를 전달할 수 있다.
ssh-copy-id -i <키 이름>.pub <계정 명>@<서버 공인 IP 주소>
3. Key 인증 활성화
키를 통해서만 접속할 수 있도록 서버의 ssh 설정 파일
/etc/ssh/sshd_config
에서 다음 내용을 추가/변경한다.PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no
이후
기초적인 설정을 마쳤다면 패키지 업데이트, 업그레이드 및 불필요한 패키지 제거를 진행하고 zsh 및 oh-my-zsh 등을 설치하여 개발 환경 설정을 진행한다.
패키지 업데이트, 업그레이드 및 불필요한 패키지 제거
sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove
zsh 설치
sudo apt install -y zsh
oh-my-zsh 설치
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
asdf 설치
asdf: 다중 런타임 버전 매니저
1. 설치
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
2.
.zshrc
에서 활성화plugins=( [plugins...] asdf)
zsh-syntax-highlighting 설치
1. 설치
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
2.
.zshrc
에서 활성화plugins=( [plugins...] zsh-syntax-highlighting)
zsh-autosuggestions 설치
1. 설치
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
2.
.zshrc
에서 활성화plugins=( # other plugins... zsh-autosuggestions )