[CI/CD] NCP와 Gitlab의 Container Registry를 통해 gitlab-ci를 사용해보자. -2(pem키를 사용한 ncp ssh 접속)

Junseo Jung·2024년 5월 4일

NCP+GitLab

목록 보기
2/3
post-thumbnail

pem 키를 사용한 NCP ssh 접속

NCP에 접속할 때는 기본적으로 비밀번호를 통해 접속한다.

NCP Server 접속

Github Action에서는 appleboy 등을 사용하여 비밀번호를 통해 접속할 수 있다.

uses: appleboy/ssh-action@master
  with:
    host: ${{ secrets.NCP_HOST }}
    username: ${{ secrets.NCP_USERNAME }}
    password: ${{ secrets.NCP_PASSWORD }}
    port: ${{ secrets.NCP_PORT }}

Gitlab-ci에서는 난 아직까지 해당 방법을 못찾았다…

그래서 AWS에 접속하듯, 늘 그렇듯 pem키를 사용하여 접근하고자 한다.

0. 포트포워딩

NCP는 서버에 관리용 IP가 정해져 있고 해당 서버에 접속하기 위해 포트포워딩을 사용해야 한다.

NCP 서버 관리

위 링크를 잘 참조하면 어렵지 않게 구성할 수 있다.

SSH기본포트인 22와 비슷한 2223으로 설정했다.

1. 키 생성

로컬에서 키를 생성해야 한다.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

ㅁㅁ_rsa.pub같이 생긴 공개키와 ㅁㅁ_rsa와 같이 생긴 개인키가 생성될 것이다.

이 중 공개키를 NCP서버에 넣고 설정해야 한다.

2. 서버 설정

  1. 포트포워딩에서 진행했던 방식을 통해 NCP에 접속 후

vscode등을 통해 공개키의 값을 복사한 뒤 /.ssh/authorized_keys에 들어가 공개키의 값을 넣는다.

이후 권한을 설정한다.

chmod 600 .ssh 
chmod 640 .ssh/authorized_keys 

이제 서버의 키 기반 인증을 설정한다.

 /etc/ssh/sshd_config로 이동하여 아래 내용을 확인하고 수정한다.

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

필요시) PermitRootLogin yes

RSAAuthentication yes
PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
AuthorizedKeysFile	.ssh/authorized_keys .ssh/authorized_keys2

PubkeyAcceptedKeyTypes +ssh-rsa

3. 개인키를 사용한 SSH 접속

다시 로컬로 돌아와 기존에 만들었던 개인키를 사용해 서버에 접속한다.

ssh -i 개인키 -p 설정한_포트 root@ncp_관리_IP

처음 접속하면 fingerprint~~ 가 나올 것이다. 해당 키에 대해 IP를 기억할 것이냐는 질문이며 편한대로 하자.

참고.

NCP 서버에 SSH Key 이용해서 접속하기

1개의 댓글

안녕하세요, 네이버 클라우드 플랫폼입니다.
네이버클라우드의 기술 콘텐츠 리워드 프로그램 ‘이달의 Nclouder(5월)’ 도전자로 초대합니다 🙂

네이버 클라우드 플랫폼 서비스와 관련된 모든 주제로 6/5(수) 23시까지 신청 가능합니다. (*5월 작성 콘텐츠 한정 신청 가능)

Ncloud 크레딧을 포함한 다양한 리워드가 준비되어 있으니 많은 관심 부탁드립니다!

자세한 내용은 아래 링크에서 확인부탁드립니다.
https://blog.naver.com/n_cloudplatform/223441521295

신청 링크
https://navercloud.typeform.com/to/lF8NUaCF

답글 달기