DevOps (3) 썸네일형 리스트형 [DevOps] CI/CD를 위한 SSH Private Key와 known_hosts 설정 서버에 원격으로 접속하거나 GitHub, GitLab 등과 안전하게 데이터를 주고받을 때 우리는 SSH(Secure Shell) 프로토콜을 사용합니다.이번 글에서는 SSH 통신의 핵심인 Private Key(개인키)와 Public Key(공개키)의 원리, 서버의 신뢰성을 검증하는 known_hosts의 역할, 그리고 이를 직접 생성하고 등록/활용하는 방법을 단계별로 다뤄보겠습니다.1. SSH Key와 known_hosts를 사용하는 이유SSH는 암호화 기술을 사용해 클라이언트(내 컴퓨터)와 서버 간의 통신을 보호합니다.🔑 Private Key & Public Key (비대칭키 쌍)SSH 인증은 비대칭 암호화 방식인 키 쌍(Key Pair)을 기반으로 동작합니다.Private Key (개인키, id_ed.. [Docker] Docker Hub란? Access Token 발급 및 사용법 1. Docker Hub를 사용하는 이유Docker Hub는 Docker 공식에서 제공하는 클라우드 기반의 Container Image Registry(이미지 저장소) 서비스입니다. GitHub가 소스 코드를 저장하고 공유하는 공간이라면, Docker Hub는 빌드된 컨테이너 이미지를 저장하고 관리하는 공간입니다.핵심 장점손쉬운 이미지 공유 및 배포local에서 빌드한 이미지를 docker push 한 번으로 저장소에 업로드하고, 서버나 타 디바이스에서 docker pull로 빠르게 다운로드하여 실행할 수 있습니다.공식 및 검증된 이미지 제공 (Official Images)Node.js, Python, MySQL, Ubuntu 등 검증된 최신 공식 이미지를 안전하게 가져와 사용할 수 있습니다.CI/CD .. [CI/CD] 권한이 제한된 환경에서 GitLab CI/CD 구축하기: Kaniko, SSH 3줄 요약문제: Runner 설정과 서버 root 권한 변경 불가,배포 대상은 Docker Compose로 운영되는 단일.해결: Docker daemon 없이 이미지를 빌드하는 Kaniko와 SSH를 통한 Docker Compose 배포.결과: 수동 배포 절차를 main 브랜치 push 를 트리거로 자동 배포.1. 왜 이 구조를 선택했는가? (제약 조건)일반적인 Docker-in-Docker(dind)나 Kubernetes 배포 방식을 사용할 수 없는 환경이었습니다.서버 Root 및 Runner 권한 없음: privileged 옵션 설정 불가 ➔ Kaniko 사용단일 서버 운영: Kubernetes가 아닌 Docker Compose 환경 ➔ SSH 접속 배포서버 환경 파편화: 서버마다 다른 Compose.. 이전 1 다음