AWS에서 EC2 인스턴스를 생성하게 되면 public/private 키 쌍이 생성되고
public ➡️ AWS 인증서버
private ➡️.pem 파일로 로컬에
이런식으로 저장이 된다.
하지만 만약 pem 파일을 잃어버렸거나, pem파일이 없는 기기에서 ssh로 접속을 하고 싶을 때 다음의
방법을 따르면 된다.
로컬에서 public/private 키쌍을 생성
$ cd ~/.ssh/
$ ssh-keygen -f ~/.ssh/id_rsa_keyname
해당 위치에서 ssh-keygen 커맨드를 입력하면, 다음 두 파일이 생성된다.
id_rsa (프라이빗키)
id_rsa.pub(퍼블릭키)
만약 이전에 사용하던 키가 있다면, 이 과정은 생략해도 된다.
생성된 public 키를 EC2 인스턴스에 복사
EC2 인스턴스의 ~/.ssh/ 하위에 존재하는 authorized_keys 파일에 생성된 로컬 public 키를 붙여넣는다.
기존 키가 존재한다면, 해당 키의 한 줄 아래에 붙여 넣는다.
아래 스크린샷과 함께 자세한 설명이 있다.
왼쪽 NAV 바에있는 인스턴스를 클릭하고, 내 인스턴스를 우클릭해 연결을 클릭한다.
사용자 이름을 입력하고 연결을 클릭한다.
vi 편집기를 사용해 EC2 인스턴스의 ~/.ssh/ 하위에 존재하는 authorized_keys에 로컬 퍼블릭 키를 저장한다.
$ vi ~/.ssh/authorized_keys
로컬에서 ssh로 EC2 인스턴스에 접속한다
$ ssh {EC2인스턴스 user id}@{EC2 public ip}
접속 완료!
++
만약 ubuntu@13.125.217.102: Permission denied (publickey) 같은 에러가 발생한다면, 먼저 발급받은 키의 권한을 chmod로 600까지 내려보고, 그래도 안된다면 ssh 접속 시 프라이빗 키를 다음과 같이 함께 전달한다.
ssh {ec2 username}@{ec2 ip} -i test
'🛠️TOOL > 🔶AWS' 카테고리의 다른 글
[AWS] - EC2 인스턴스 SSH 접속 시 error : Permission denied (publickey) (1) | 2024.02.14 |
---|---|
[AWS] - EC2 프리티어 사용시 메모리 부족 현상 해결 (0) | 2023.11.29 |
[AWS] - EC2에 mongoDB 설치하기 (0) | 2023.09.27 |
[AWS] EC2 인스턴스에 Spring Boot + React 배포 환경 구축하기 (0) | 2023.09.27 |
[AWS] S3 버킷 생성하고 보안 정책 설정하기 (0) | 2023.09.07 |