[SpringBoot, AWS] KnockKnock 개발일지 - 0109 (키페어)

Hyebin Lee·2022년 1월 10일
0

knockknock 개발일지

목록 보기
12/29
post-thumbnail

오늘의 목표

  1. ✔putty에서 ec2 인스턴스 접속 성공하기
  2. EC2에 Git 설치 및 프로젝트 Clone
  3. 배포 스크립트 생성

참고 블로그 글

  1. AWS EC2 인스턴스 ssh접속방법 (Putty)
  2. [Github] Github 토큰 인증

오늘의 이슈

  1. no supported authentication methods available (server sent publickey) 오류 해결
  2. EC2 git clone password authentication 문제

1. PuTTY로 EC2 접근하기

내가 마주한 오류

no supported authentication methods available (server sent publickey)

다음과 같은 오류는 올바르지 않은 ppk 파일을 authentication 했거나 사용자 이름이 틀렸을 때 발생한다.

나의 경우 둘 다 해당되었는데ㅋㅋㅋ😇😣 일단 처음에 키페어의 개념에 대해 제대로 이해하지 못해서 그런 것이 컸다.
그래서 간단히 키페어와 ssh에 대해 정리해보고자 한다.

키페어와 ssh 개념, 키페어 생성

  • SSH: 네트워크 상에 다른 컴퓨터로 접근(로그인) 하여 원격으로 커멘드를 실행하거나 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜

  • key페어: SSH 보안 인증을 위한 시스템. 접근 가능한 사용자가 접근하는지 확인

  • 대칭키(public key): 서버 쪽에서 들고 있는 키, 서버는 자신의 키를 공개

  • 비대칭키(priviate key): 클라이언트(접근하고자 하는 컴퓨터)가 들고 있는 키.


    따라서 서버에도 public 키가 있어야 하고 클라이언트도 그에 대응하는(키 페어가 되는) private 키를 갖고 있어야 한다.
    이 과정이 AWS EC2에서의 키페어 생성이다.

    키페어 생성은 인스턴스를 생성하고 가장 마지막 단계에서 물어보며 인스턴스가 생성되면 이미 그에 연결된 키페어가 준비되어있다.

    인스턴스는 서버이기 때문에 키페어가 생성되면 우리에게 public(.pem) 키 파일을 제공한다.
    우리는 putty를 이용하려는 클라이언트로서 private(.ppk)파일이 필요하다. (openssh는 .pem만 있으면 된다고 한다)

    이러한 ppk 파일은 putty key generator(PuTTYgen)에서 인스턴스에서 받은 pem 파일로부터 뽑아낼 수 있다.


    puttygen에서 load로 인스턴스의 pem(public key)파일을 load 한 뒤

    다음과 같이 saved private key 버튼을 눌러 ppk(private key)파일을 받아주면 된다.

    자! 이제 우리는 클라이언트의 ppk 파일을 손에 넣었으니 네트워크 상에서 인스턴스(EC2)로 접근하는 보안상의 권한을 갖게 된 것이다!💃

    PuTTY로 EC2 접근하는 방법

  1. 먼저 접근해야 하는 EC2의 퍼블릭 IPV4 DNS 주소를 복사한다.
  2. PuTTY 창을 열고 Host Name 칸에 방금 복사한 퍼블릭 IPV4 DNS 주소를 넣는다.
  3. ssh>Auth>Private key file for authentication에서 아까 받은 클라이언트만의 ppk파일을 입력한다.
  4. 필요한 경우 다시 Session 탭으로 가서 Saved Session으로 세션명을 정하고 해당 내용을 save 한다 (추후 필요한 경우 리스트에서 load 가능하다)
  5. 이후 open을 누르고 PuTTY 터미널에 접속한다.
  6. 처음에 login as: 라고 터미널에 뜨는데 사용자의 이름을 ec2-user (Amazon Linux를 쓰는경우) 로 입력하고 들어가면 끝! - 유저 이름을 모르겠다면 AWS 공식 문서를 참고하자!

    다음과 같이 창이 뜨면 드디어 EC2로 접근하기 성공이다 🌟🎇🎆 이후에 다음 블로그에 나온 대로 EC2에서 RDS 접근을 확인했다!
    내 보잘것 없지만 작고 소중한 knockknock 데이터베이스가 잘 들어있는것을 확인했다 😭따흑

    2. GitHub 토큰 인증 로그인 하기

    내가 마주한 오류

    git clone {repository https 주소} 명령을 ec2의 ssh에서 실행하려는데 다음과 같은 오류가 났다.

    비밀번호 인증 지원은 2021년 8월 13일에 제거되었으니 대신 개인 엑세스 토큰을 사용하라는 것이다...
    정말이지.. 뭐 하나 내 맘대로 스무스하게 진행되는 일이 없다 😭 대체 개인 엑세스 토큰이 뭐란 말인가

    개인 엑세스 토큰 생성 방법




    개인 엑세스 토큰 생성 방법은 간단해서 사진으로만 첨부한다!
    github에서 다음과 같이 만들어주면 되며 generate new token에서 웬만한 체크박스는 다 체크하는 것이 좋다.

이렇게 만들어 둔 엑세스 토큰은 두번 다시 확인할 수 없으니 반드시 다른 곳에 저장해두어야 한다💎
엑세스 토큰의 사용은 단순하다, 그냥 password 입력해야 할 때마다 password 대신 엑세스 토큰을 복붙하면 된다

0개의 댓글