[트러블 슈팅] Github Action 과정 중 AWS EC2 연결 이슈 모음

서승·2025년 5월 11일

테스형

목록 보기
16/25
post-thumbnail

테스트 플랫폼 : 테스형 서비스 구축 과정 시 Github Action을 통한 AWS EC2 Docker 자동화 파이프라인 구축에서 일어난 트러블 슈팅 모음 문서

1. .pem 키 오입력

아무래도 .pem 키를 입력하는데에 문제가 생긴 것 같다.

.github/workflows/deploy.yml
코드를 살펴보면

    steps:
      - name: Set up SSH Key
        run: |
          echo "${{ secrets.PEM_KEY }}" | base64 --decode > private-key.pem
          chmod 600 private-key.pem

코드를 보면 base64 로 디코딩하여 저장하도록 코드를 작성하였다.

어짜피 Github Secret 에서 보안 관리를 하고 있으니, Decode 코드 자체를 빼주니 해결됐다.
-해결-

2.잘못된 SSH 연결?

"dial tcp: lookup tcp///[ip주소]: unknown port"

즉 SSH 연결을 시도할 때 발생하는 오류인데, 잘못된 형식으로 IP 주소를 지정하여서 발생한 것 같다.

Github Secret에서 설정한 EC2 IP 주소를 설정할 때에
[IP주소] : 3000
로 입력하여 생긴 문제이다.

주소 그대로를 넣어줘야 하는데, 프론트 서버를 3000번 포트에서 여니까 IP 주소 자체도 :3000 까지 넣어줘야 한다고 착각을 했다. . 바보같은 놈 . .
FE 서버 EC2 퍼블릭 IPv4 주소를 그대로 입력하니
-해결-

3. SSH 인증 실패 문제

ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey]

키가 안맞는다는 뜻인데 ..

저번 프로젝트에서도 .pem키가 계속해서 안맞는다며 .. 결국엔 서버를 다시 파는 불상사가 생겼는데 이번도 그럴지 무섭다 ..

현재 키가 잘 인증이 되는지 터미널을 이용해서 원격으로 접속 할 수 있다.

.pem 키가 있는 위치로 이동하여 터미널을 켠 후 SSH 클라이언트에서 제공하는 코드를 통해 접속할 수 있다.

ssh -i "tst-key.pem" ubuntu@[ECs ip 주소].ap-northeast-2.compute.amazonaws.com

.pem 키가 위치한 디렉터리로 이동한 후 터미널에 접속해 위의 코드를 입력하면 내 로컬에서 EC2 서버로 접속할 수 있다.
이 때 접속이 되지 않는다면, EC2 서버에 내가 받은 .pem 키가 유효한지 아닌지 확인할 수 있다.
대부분 된다.

.pem 키의 보안이 너무 느슨해 생기는 오류.

chmod 400 tst-key.pem
으로 수정할 수 있다. 오직 소유자만 읽을 수 있다.

Welcome 로그가 뜬다면 접속에 성공한 것

자, 그렇다면 .pem 키는 접속이 잘 된다는 것을 알 수 있다.
그 말은 .pem 키 자체에는 문제가 없는 것.

고민하던 중 문제가 떠올랐다.

username: ${{ secrets.SERVER_USER }} 에서 .. EC2의 사용자 이름을 적어야 하는데 나는 AWS의 계정 이름을 적어버린 것 이다 ...

Git Secret에서 username: ${{ secrets.SERVER_USER }} 를 ubuntu로 바꿔주었더니
보통 서버에 접속할 때 사용자 이름을 ubuntu 로 사용하긴 한다.

-해결-

profile
정진 또 정진

0개의 댓글