기존 ssh 접속을 위한 .pem
키 하나만으로 모든 접속을 해결할 수 있지만, 사용자나 용도에 따라 구분하고 싶을 수 있다.
우선 [EC2 콘솔] > [Network & Security] > [Key Pairs]
키페어의 이름만 간단하게 입력하면 생성이 끝난다!
[Create key pair]를 눌러 진행하면 바로 다운로드가 진행되는데, 이때 다운로드 받은 키는 다시 생성할 수 없으니 주의한다.
현재 다운로드 받은 키는 비밀키이므로, 이에 대응하는 공개키를 만들어 EC2 인스턴스에 직접 넣어주어야 한다.
키 자체는 대단한건 아니고 그냥 텍스트이다.
직접 열어보면 이렇게 문자열이 가득한걸 볼 수 있다.
비밀키 권한 바꿔주기
공개키를 만들기 전, pem key의 쓰기 권한을 변경해주어야 한다. 권한이 너무 열려있는 경우 공개키를 생성할 수 없기 때문이다.
chmod 400 ./test.pem
공개키 생성
MacOS 기준으로 명령어는 아래와 같다.
ssh-keygen -f <path-to-private-key>
덮어쓸거냐는 물음에 y라고 답하면 passphrase를 사용하라고 하는데, 원하지 않으면 그냥 넘어가도 된다. 그러면 test.pem.pub
이름으로 공개키가 생성되는데, 역시 열어보면 그냥 문자열이다. 이 공개키를 EC2 인스턴스에 입력해주면 된다.
참고로, 공개키 생성과 클립보드에 복사 (cmd + c)를 한번에 하는 명령어는
ssh-keygen -f private.pem -y | pbcopy
이다.
EC2 인스턴스에 공개키 등록
인증된 공개키를 저장하는 장소가 있는데, linux 계열의 경우 대부분 ~/.ssh/authorized_keys
이다. 해당 파일 하단에 추가할 공개키를 저장하면 된다. 이 파일의 내용이 날아가면 자칫 ssh 접속이 아예 차단될 수 있으니 주의해야 한다.