본문 바로가기
  • 조금 느려도, 꾸준히
dev etc.

[ec2, appleboy/ssh-action] ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain 오류 발생 시

by chan 2023. 5. 5.
반응형

상황

appleboy/ssh-action 깃헙 액션 플러그인을 통해 aws ec2 로 연결 시도 시 다음과 같은 오류가 발생하였습니다.

 

[ERROR] ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

 

해당 태스크에 대응하는 github workflow 구성 파일 (yml) 은 다음과 같습니다.

      - name: Deploy
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.STAGE_HOST }}
          username: ${{ secrets.STAGE_HOST_USERNAME }}
          key: ${{ secrets.STAGE_AWS_SECRET_KEY }}
          envs: GITHUB_SHA
          script: | ...

이때 github secret 환경 변수는 다음과 같습니다.

STAGE_HOST: ec2 의 public ip 주소

STAGE_HOST_USERNAME: ubuntu (기본값)

STAGE_AWS_SECRET_KEY: ec2 컨테이너 내부 ~/.ssh/authorized_keys 에 명시된 public key 에 대응하는 private key (pem 형식, $ cat {private_key}.pem 을 통해 출력된 값) 

 

aws ec2 는 ubuntu linux 환경이었으며, ~/.ssh/authorized_key 에 명시된 public key 는 SHA-1 로 서명된 ssh-rsa 키였기에, 리눅스 SSH 설정 파일인 /etc/ssh/sshd_config 파일을 확인 후, ssh-rsa 를 지원하도록 설정되어 있는지 확인 후, 결론적으로 설정되지 않아 설정 후 해결하였습니다.

 

 

해결

1. ec2 접속 (ssh, 직렬 콘솔 등)

2. sshd_config 파일 수정 (기본적으로 readOnly 파일이기 때문에, sudo 를 통해 루트 권한으로 편집기를 열어줍니다)

$ cd /etc/ssh
$ sudo vi sshd_config

3. sshd_config에 PubkeyAcceptedKeyTypes=+ssh-rsa 구문 추가

4. ssh 시스템 서비스 재실행

$systemctl ssh restart

 

참고

https://github.com/appleboy/ssh-action/issues/96

 

ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain · Issue #96

ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain This is my workflow file what i am trying to do with this action is on pushing to...

github.com

https://boanchung.tistory.com/30

 

[Linux / 진단 상식] /etc/ssh/sshd_config 기능과 정의

리눅스 진단 / 사용자 인증 - root 계정 원격 접속 제한 상식 ■ 기능 : /etc/securetty/etc/ssh/sshd_config 리눅스 SSH 설정 파일 ■ 예시 Port xx SSH 서비스 포트는 22로 규약되어 있지만 보안을 위해 임의의 포

boanchung.tistory.com

 

반응형

댓글