카테고리 없음

aws ssh 접속하기

삽사 2023. 9. 15. 00:23

인스턴스 생성할 때 다운받은 키파일을 삭제하고 새로 생성해서 접속하려고 하니 no supported authentication methods available (server sent: publickey) 라는 에러가 떴다. 인스턴스에 공개 키를 등록해주지 않아서 그렇다. 

 

ec2 > 네트워크 및 보안  > 키페어 메뉴에서 새로 키를 생성한다. 

 

푸티젠에서 비밀키를 불러와서 공개키(모자이크 한 부분)를 확인한 후 복사한다. 

 

웹페이지에서 콘솔로 인스턴스에 접속한 다음, 루트계정인 상태에서 ~/.ssh/authorized_keys를 열고 기존 퍼블릭키를 지우고 방금 복사한 키를 붙여넣는다.

 

저장하고 조금 기다린다음 접속한다. 

 

 

예전이면 됐으니까 원리따위 생각하지 않고 넘어갔겠지만...그런식으로 공부하니 시간이 지날수록 힘들어지고 막힌다.

원리를 한번 짚고 넘어가기로 했다.

 

aws 공식 설명 참고

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/replacing-key-pair.html

 

인스턴스에 대한 퍼블릭 키 추가 또는 제거 - Amazon Elastic Compute Cloud

인스턴스에서 모든 퍼블릭 키를 제거하고 인스턴스 연결을 끊은 후에는 AMI에서 다른 로그인 방법이 제공되지 않으면 다시 연결할 수 없습니다.

docs.aws.amazon.com

 

 

ssh key 원리 설명하는 영상

https://www.youtube.com/watch?v=dPAw4opzN9g 

 

요약 

 

다른 컴퓨터에서 컴퓨터에 접속하려고 할 때 비밀번호를 사용하면 보안상 취약하다. ssh를 사용하면 더 안전하다. 

ssh의 원리 

비밀키와 공개키가 있다. 비밀키는 정말 비밀이다. 비밀키를 갖고 있다면 그건 본인이어야한다. 공개키는 공개되어도 상관 없다. 랜덤 스트링을 퍼블릭키로 암호화한다. (원웨이 암호화) 이걸 풀 수 있는 유일한 방법은 비밀키를 사용하는 것이다.
만약 내가 갖고 있는 비밀키로 해독이 된다면 ssh로 접속을 할 수 있다. 

내가 aws 접속이 안됐었던 이유는, 공개키가 aws 인스턴스에 없었기 때문이다.