슬기로운 개발자생활/클라우드

NCP 서버 접속 (in VS Code)

개발자 소신 2024. 1. 5. 08:03
반응형

사이드 프로젝트를 진행하면서, 네이버 클라우드 플랫폼(NCP) 30만원 크레딧을 제공받는 김에 AWS 대신 NCP를 써보기로 했다. AWS EC2서버에 접속하는것과는 조금 다르고, 관련 레퍼런스도 많지 않아 설정하는데 조금 애먹었다. 설정하면서 느낀점은 디테일한 부분을 꼼꼼히 신경쓰는 네이버답게 보안이 잘 되어있다는 것과 내가 내 서버 접속하는것도 까다로운데 내 서버가 과연 해킹당할 수 있을까? 라는 생각도 들었다.

순서

1.  준비사항
2.  VSCode Extension 설치
3.  config 파일 수정
4.  Trouble Shooting

1. 준비사항

NCP 서버

Services

  • 로그인 후 콘솔에 접속하면 좌측 메뉴바를 확인할 수 있다.
  • 여기서 Region과 Platform에 따라 서버가 나뉜다. (생성한 서버가 안 보인다면 이부분 확인)
  • 서버를 생성하는 것은 그렇게 어렵지 않다. 상품설명을 보고 서버 이미지, 서버스펙을 설정하면된다.

keypair

  • AWS EC2때와 마찬가지로 꼭 pem 키파일을 잘 관리하자.

acg

  • ACG는 AWS의 보안그룹과 같은 역할이다. 서버로 들어오는 요청을 관리한다.

2. VSCode Extension 설치

  • 좌측에 블록모양 아이콘을 클릭
    vscode_0
  • remote-ssh 검색하여 설치
    vscode_1

3. config 파일 수정

NCP에서 접속에 필요한 정보 확인

  1. 포트 포워딩 설정
    pf1
  • 생성된 서버를 클릭하면 포트 포워딩 설정 버튼이 활성화된다.

pf2

  • 서버를 선택하고, 외부 포트를 1024 ~ 65534 사이의 값으로 임의 지정하고 추가하면 서버에 접속할 수 있는 공인 IP와 외부 포트가 나온다.

admin_password

  • 또한, 서버 관리 및 설정 변경에서 관리자 비밀번호 확인을 누르고 생성한 키페어 파일을 넣으면 서버 접속에 필요한 비밀번호를 확인할 수 있다. (중요)
    • 만약 비밀번호 입력을 하지 않으려면 내 컴퓨터에서 생성한 ssh key를 NCP서버에 등록해놓으면 된다.

config 파일 수정

  • remote-ssh를 설치하면 왼쪽에 모니터 모양 아이콘이 생성
    vscode_3
  • SSH에 마우스커서를 올려 톱니바퀴를 클릭하면 config파일들의 경로가 나오는데 기본적으로 Users에 있는 경로를 사용
    vscode_2
  • 다음과 양식에 맞춰 입력
Host {서버 별명}
    HostName {포트포워딩에서 확인한 서버 접속용 공인 IP}
    Port {포트포워딩에서 확인한 서버 접속용 외부 포트}
    User root
    IdentityFile {pem 파일 경로}
    # 관리자 비밀번호를 주석처리해놓고 사용하면 편함

passwordinput

  • 서버 접속 시 서버 OS 선택, 관리자 비밀번호 입력하면 서버 접속 성공

4. Trouble Shooting

  • 서버 접속 시 에러 확인은 기본적으로 하단 터미널의 OUTPUT을 확인
    output_0
  1. ACG (Access Control Group) 설정 확인
    ACG
  • 허용 포트 22가 처음엔 모든 소스에 대해서 열려있음. 내 IP에 대해서만 열려있도록 하는 것을 권장
  1. 키 권한 오류 (NCP에서 확인은 못했지만 발생한다면 AWS때와 동일할듯)
  • 기본적으로 Mac에서 발생하고 Windows에서는 키파일을 다른 드라이브에 저장하거나 키파일에 보안이 보장되지 않는 경우 발생
    output_1
  • windows 해결법 : C:/Users/{user_name}/ncp 하위에 넣는 것을 권장
  • mac 해결법 : chmod 400 {key_file}
    • chmod는 권한설정에 대한 명령어로 앞에서부터 순서대로 본인, 그룹, 전체에 대한 권한 설정을 할 수 있다. 0(권한 없음), 1(eXecute - 실행), 2(Write - 쓰기), 4(Read - 읽기)
  1. 그 외의 오류는 대부분 config 입력을 잘못하였을 때 발생한다.
반응형