⸻
ssh-keygen -t rsa -b 4096 -C "jenkins@example.com"
• 저장 위치 → 엔터 (~/.ssh/id_rsa)
• 패스프레이즈 → 그냥 엔터
👉 결과:
• ~/.ssh/id_rsa (개인키)
• ~/.ssh/id_rsa.pub (공개키)
⸻
cat ~/.ssh/id_rsa.pub
출력된 ssh-rsa AAAAB3Nza... 내용을 복사.
⸻
👉 여기까지 하면 GitHub이 Jenkins의 공개키를 기억합니다.
⸻
⸻
⸻
👉 이제 Jenkins가 빌드할 때 자동으로 GitHub에서 코드 clone 가능해집니다 🚀
⸻
위는 지피티 답변이고 간단하게는
젠킨스서버에서 ssh 공개키를 생성하고
해당 공개키를 접속할 서버의 계정 홈 디렉터리의 .ssh 디렉터리 내부에 생성했다
생성방식은 접속하려는 서버에 접속하여
echo “키내용 젠킨스서버계정@젠킨스서버호스트네임“ >> ~/.ssh/authorized_keys 를 cli로 입력하면
접속한 계정의 홈디렉터리 내부에 생성되고 나머지는 ssh jenkins 설정을 따르면된다
나같은 경우는 위와같이 설정하고 폴더의 credentials에 ssh 접속등을 사용하지않고 위와같이해서 직접 groovy script로 ssh command를 작성하여 처리함
아래는 제미나이 답변
—————-
authorized_keys 파일은 SSH 서버가 특정 클라이언트의 접속을 허용할 때 사용하는 공개키(public key) 목록을 저장하는 파일이며, id_rsa는 SSH 인증을 위한 개인키(private key)의 기본 파일 이름입니다. SSH 접속 시 클라이언트의 id_rsa 개인키를 이용해 서버의 ~/.ssh/authorized_keys 파일에 등록된 공개키와 일치하면 인증이 성공하여 비밀번호 없이 로그인할 수 있습니다.
SSH 키 인증 과정
클라이언트 측에서 SSH 키 생성: ssh-keygen 명령어를 사용하여 개인키(id_rsa)와 공개키(id_rsa.pub) 쌍을 생성합니다.
서버에 공개키 등록: 클라이언트의 공개키(id_rsa.pub)를 SSH 접속하려는 서버의 ~/.ssh/authorized_keys 파일에 추가합니다.
SSH 연결 시 인증: 클라이언트가 SSH로 서버에 접속할 때, 서버는 클라이언트의 공개키와 매칭되는 개인키를 가지고 있는지 확인하고, 일치하면 인증을 완료합니다.
주요 파일 및 명령어
~/.ssh/id_rsa (개인키): 사용자의 로컬 컴퓨터에 저장되며, 절대 다른 사람에게 노출되어서는 안 됩니다.
~/.ssh/id_rsa.pub (공개키): 개인키와 쌍을 이루는 공개키로, 서버의 ~/.ssh/authorized_keys 파일에 등록되어야 합니다.
~/.ssh/authorized_keys (서버): SSH 서버에 접속을 허용할 공개키들을 담고 있는 파일입니다.
ssh-keygen: SSH 키(개인키 및 공개키)를 생성하는 유틸리티입니다.
cat id_rsa.pub >> ~/.ssh/authorized_keys: 클라이언트의 공개키 내용을 서버의 authorized_keys 파일에 추가하는 명령어입니다.