본문 바로가기
개발오류

[Jenkins] aws ec2로 scp 할 때 Host key verification failed error 해결

by 디토20 2022. 10. 13.
반응형

 

 

 

 

[Jenkins] aws ec2로 scp 할 때 Host key verification failed error 해결

 

 

jenkins에서 build한 jar 파일을 aws ec2로 scp 하기 위해 명령어를 입력했다.

 

scp -i [A서버에 있는 B서버의 pem.key 위치] [A서버에 있는 복사할 파일] [user]@[host]:~/[복사할 B서버의 위치]

ex) scp -i /home/pem_keys/test.pem build/libs/*.jar ubuntu@11.111.111.11:~/deploy/test.jar

 

 

A 서버 -> B 서버 SCP

로컬에서 terminal로 직접 jenkins서버에 접속해 aws ec2로 scp 명령어를 입력할 때는 파일 이동이 잘 되는데, jenkins에 script로 해당 명령어를 돌리면 아래와 같은 에러가 자꾸 떴다.

+ scp -i /home/pem_keys/test.pem build/libs/*.jar ubuntu@11.111.111.11:~/deploy/test.jar
Host key verification failed.
lost connection

 

 

 

방법 1. ssh/known_hosts에서 타겟 IP 삭제

Host key verification failed 로 구글링을 했을 때는 다른곳에서 타겟 서버에 접속한 기록이 남아 발생하는 오류로, 

.ssh/known_hosts의 타겟 아이피를 삭제해주면 된다고 한다.

ssh-keygen -R [IP_ADDRESS]

 

젠킨스 서버에서 해당 명령어를 입력해 보았으나, 해결되지 않았다. 여전히 terminal을 이용한 직접 접속에서는 scp가 적용 되었지만 같은 명령어가 jenkins script에서는 동작하지 않고  Host key verification failed를 뱉어냈다.

 

 

 

방법 2. pem key 권한 변경

https://stackoverflow.com/questions/57447980/load-key-permission-denied-jenkins

 

load key : permission denied jenkins

I am trying to run a multibranch job in jenkins . Codes are placed in git. While running the job I am getting access rights issue. While generating the ssh-keygen in jenkins getting the permission ...

stackoverflow.com

 

pem key의 권한을 바꿔주면 해결된 다는 글을 발견!

 

1. jenkins 서버에서 sudo su를 입력해 sudo 권한을 획득한다.

2. cd /home/pem_keys/test.pem pem 키의 위치로 이동한다. (본인이 설정해 놓은 pem 키의 위치!)

3. ls -la로 파일의 정보를 확인한다.  -r--------. 1 root root 18 Sep 1 10:00 test.pem 

4.pem키의 주인이 jenkins가 아니라면 chown jenkins:jenkins test.pem 명령어로 변경해준다.

5. -r--------. 1 jenkins jenkins 18 Sep 1 10:01 test.pem pem키의 주인이 잘 바뀌었다면 scp를 다시 실행해보자!

 

 

 

 

-> 나는 2번 방식으로 문제를 해결했다.

728x90
반응형

댓글