Jenkins ssh Host key verification failed.

강성준·2024년 10월 4일

개발계의 젠킨스를 이용해 타 운영서버로의 원격 배포를 구성하던 중 ssh Host key verification failed. 에러가 발생했다.
운영계 서버에 원격 배포를 구성하기 전 타 개발계 서버에 원격 배포와 동일하게 세팅을 하였는데, 처음에는 무슨 이유에선지 동일하게 동작하지 않았다.

먼저 내가 구성한 흐름은 아래와 같다.

🤔 원격 배포를 위한 설정

  1. Jenkins private key, public key 발급
  2. 배포가 되어야할 서버내 .sshpublic key등록
  3. sshd.conf 파일 내 설정
  4. jenkins 파이프라인을 이용한 배포.

위와 같은 과정을 거쳤을때 개발계 서버에서는 문제가 없었으나 운영계 서버에서 문제가 되었다.
구글링을 해보니 .sshknown_hosts에 원격 서버의 호스트 키를 등록해야한다고 한다.

그래서 내 개발계에서 아래와 같이 ssh 접속을 시도해보았다.

ssh root@000.000.000.000

The authenticity of host '000.000.000.000 (000.000.000.000)' can't be established.
ECDSA key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no)?

yes

이렇게 호스트 키가 등록되었을테니 다시 한번 jenkins의 job에서 빌드를 시도해보았지만 결과는....

ssh Host key verification failed.

😋 해결

더 알아보다보니 jenkins 계정으로 변경 후 다시 호스트 키를 배포할 원격 서버의 known_hosts에 등록하면 해결된다.

sudo su jenkins

ssh jenkins@000.000.000.000

The authenticity of host '000.000.000.000 (000.000.000.000)' can't be established.
ECDSA key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no)?

yes

호스트 키를 등록하고 난 후에 다시 jenkins의 job에서 빌드를 돌리면

이렇게 성공적으로 배포가 되는것을 확인할 수 있다!

profile
Java, Spring Framework로 백엔드 개발을 하는 개발자입니다.

0개의 댓글