문제 발생
Github Action을 사용하여 CI/CD를 구현하던 중 Deploy 부분에서 계속해서
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain 에러가 발생해서 애를 먹고있었다..
계속해서 문제가 발생한 Deploy부분의 코드는 다음과 같다.
문제해결을 위해 진행한 방법
1. 처음에는 레포지토리 등록한 secrets값에 문제가 있어서 발생하는 문제인가해서 EC2_HOST 값을 반복해서 다시 설정해보기도 하고
아예 ec2에서 HOST name을 바꿔서 시도하여 보기도 하였다.
2. HOST에는 문제가 없음을 확인하고 PRIVATE_KEY값을 확인하기위해 pem파일의 PRIVATE_KEY값을 다시 secret에 등록하여 재시도해보기도하고 ssh-keygen -t ed25519 -a 200 -C "[your_email@example.com]" 명령어로 PRIVATE_KEY를 생성해서 바꿔보기도 하였다.
3. 다른 해결방법을 찾아보던중 appleboy의 버전을 바꿔서 해결했다는 글을 보고 master -> v0.1.4로 바꾸어 진행하여보았다.
위의 3가지 방법이 모두 효과가 없었고 결론은 workflow에 크게 이상은 없다는 결론을 내렸다.
고민끝에 문제를 해결한 방법은 다음과 같다
해결방법
해결방법은 생각보다 간단했다.
ssh log를 살펴보고 ec2의 /etc/ssh/sshd_config 위치에 코드 2줄을 추가해주었다.
PubkeyAuthentication yes
PubkeyAcceptedKeyTypes=+ssh-rsa
위의 코드 2줄을 추가한 후 ssh server를 재시동하여 주면 ssh handshake failed 에러를 해결할 수 있었다.
이상으로 위와 같은 방법으로 ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain 문제를 해결하였다.
Reference
'Github Action' 카테고리의 다른 글
Github Action을 이용하여 CI/CD 구축하기 (0) | 2022.07.31 |
---|