Jenkins에서 공개 키를 사용하여 인증하지 못했습니다.

Jenkins에서 공개 키를 사용하여 인증하지 못했습니다.

두 개의 다른 서버가 있습니다.

  1. 젠킨스
  2. EC2 인스턴스(내 vuejs 애플리케이션)

그래서 Jenkins SSH 플러그인을 사용하여 vuejs 애플리케이션을 원격 서버에 배포하려고 하면

하지만 연결할 수 없습니다

통나무:

[SSH] executing...
ERROR: Failed to authenticate with public key
com.jcraft.jsch.JSchException: invalid privatekey: [B@482626ec

여기에 이미지 설명을 입력하세요. 개인 키(dev.pem 파일 콘텐츠) 여기에 이미지 설명을 입력하세요. 나는 무엇이 잘못되었는지 모른다.

따라서 명령줄을 통해 연결하려고 하면 다음과 같습니다.

ssh -i dev.pem ec2-user@ec2-ip -p 22

연결되었습니다. 도와주세요. 어떻게 해야 하나요?

답변1

티켓에서 같은 문제를 발견하고 해결했습니다.

https://issues.jenkins-ci.org/browse/JENKINS-57495

문제는 개인 키 파일 형식입니다.

개인 키 헤더와 관련이 있습니다. 이는 Puttygen이 아닌 Macbook의 ssh-keygen에서 가져온 것입니다. Jenkins와 플러그인은 이 형식을 읽을 수 없습니다. 그래서 새로운 pem 파일을 생성했습니다. EC2 서버에 연결이 잘 작동합니다

개인 키는 다음과 같습니다.

-----BEGIN RSA PRIVATE KEY-----
MIIE....

관련 정보