본문 바로가기
배포/Linux(Ubuntu)

7. 개인키 변환(PPK -> PEM) 후 VirtualBox 우분투에 공개키를 추가하고 SSH 접속

by moca7 2024. 12. 5.

 

 

 

ㅁ aws 사이트 접속

 

 

- https://gdu-cloud.signin.aws.amazon.com/console

- 선생님이 준 위의 주소로 접속하고 sign in을 누른다.

 

 

 

 

 

- 로그인한다. 나는 stud_04다.

- stud_01~18 / !P@ssw0rd (숫자 0임)

 

 

 

 

 

 

 

 

 

- 로그인에 성공하면 이렇게 aws 서비스에 접속되었다.

- 본인 메일 계정으로 가입하면 1년 동안 정해진 시간동안 서비스를 쓸 수 있는 계정을 받는다.

이 계정으로는 EC2에서 750시간 한도가 주어지며, 제공되는 사양도 상대적으로 낮다.

 

- 왼쪽 위의 메뉴 아이콘을 클릭한다.

 

 

 

 

 

 

 

- 모든 서비스를 클릭한다.

 

 

 

 

 

 

- ec2를 누른다.

- ec2가 aws에서 만든 가상서버명이다.

 

 

 

 

 

 

 

- 인스턴스가 서버를 의미한다.

- 인스턴스 시작을 누르면 내가 원하는 사양으로 원하는 os로 인스턴스를 생성할 수 있다.

- 인스턴스 시작을 누른다.

 

 

 

 

 

 

- 이름은 내가 원하는 이름을 적는다.

- os는 여러개가 있다.

- ubuntu를 선택한다.

그리고 밑에 버전이 있다.

 

 

 

 

 

 

- 프리 티어 사용 가능이 무료 계정이 사용가능한 버전이다.

- 여기선 지금 한번 보기만 하는 거고, 다음 게시글에서 실제로 인스턴스를 만들어 본다.

 

 

 

 

 

 

 

- 인스턴스 유형은 하드웨어 사양이다.

- 스몰, 미디엄, 라지 등 내려갈수록 cpu와 메모리가 늘어난다. 대신 요금도 올라간다.

- 기본 선택되어 있는 t2.micro 그대로 했다.

 

 

 

 

 

 

- os를 선택하고, 하드웨어 사양을 선택하면, 그 다음 키 페어가 있다.

- 새 키 페어 생성을 눌러본다.

 

 

 

 

 

 

 

ㅇ 키 페어 유형

 

- RSA는 공개키 알고리즘이다.

- ED25519도 공개키 알고리즘이다.

 

- 어떤 알고리즘을 고르든 상관없지만, 일반적으로 RSA 알고리즘을 많이 사용한다.

- 그 이유는 오랜 역사와 검증된 보안성 덕분이다.

RSA는 다양한 시스템에서 광범위하게 호환되며, 많은 보안 프로토콜에서 표준으로 사용된다.

- 반면, ED25519는 더 빠르고 보안성이 뛰어나지만 상대적으로 새로운 알고리즘이기 때문에 일부 시스템에서는 지원되지 않을 수도 있다.

 

 

 

 

ㅇ 프라이빗 키 파일 형식

 

- 그리고 키 형식이 2가지 방식이 있다. pem형식이 있고 ppk형식이 있다.

- 안에 키 내용은 똑같은데 포맷이 다르다.

 

 

- ppk는 푸티라는 터미널프로그램에서 쓸 수 있게 만든 형식이다.

푸티는 윈도우에서 SSH 접속을 위한 프로그램으로, PPK 파일을 사용한다.

 

- pem은 OpenSSH에서 사용하는 형식이다.

주로 리눅스 환경에서 SSH 접속을 위해 사용되며, PEM 파일은 공개키와 개인키를 저장하는 표준 형식이다.

 

 

- 키를 OpenSSH에서 사용할 경우 PEM 형식을 사용하고, 푸티에서 사용할 경우 PPK 형식을 사용해야 한다.

 

 

- 보통은 OpenSSH의 pem형식을 사용하지만, 두 형식 간 변환도 가능하다.

 

 

 

 


===========================================================================

 

 

 

 

 

ㅁ 키 형식 변환 (ppk -> pem)

 

 

 

 

 

- MobaXterm에서 상단의 Tools 메뉴의 MobaKeyGen (SSH key generator)를 클릭한다.

 

 

 

 

 

 

- Load를 클릭한다.

 

 

 

 

 

 

- id_rsa2.ppk를 불러온다.

(위는 저장할 때 id_rsa2.으로 잘못 저장해서 탐색기에서 이름을 정상적으로 바꿨다)

 

- 개인키를 불러온 것이다.

 

 

 

 

 

 

 

- save public key를 누른다.

 

 

 

 

 

 

 

 

- d드라이브에 이름을 id_rsa2.pub으로 저장 했다.

 

- 지금 개인키를 load해서 공캐키를 따로 저장한 것이다. 

 

 

 

 

 

 

 

 

- 그리고 Conversions에서 Import key를 한다.

 

 

 

 

 

 

 

 

- id_rsa2.ppk를 불러온다. 다른건 안불러와진다.

 

- ppk 형식의 개인키를 불러왔다.

 

 

 

 

 

 

- Conversions에서 Export OpenSSH key를 누른다.

 

 

 

 

 

 

 

- id_rsa2.pem으로 저장한다.

 

 

 

 

 

 

 

- 탐색기에 현재 이렇게 저장되어 있다.

 

- ppk 형식의 개인키를 load해서 export로 pem 형식의 개인키를 저장했다.

 

 

 

 

 

 


===========================================================================

 

 

 

 

 

ㅁ VM에 설치된 우분투 서버에 접속가능한 키 추가하기

 

 

 

 

-  MobaXterm에서 VirtualBox의 우분투에 접속한다.

 

- 6. 공개키/개인키 생성()에서 개인키/공개키를 만들었지만, 개인키가 ppk 형식이었다.

개인키를 pem 형식으로 바꾸고 authorized_keys 파일에 등록을 하고, 새로 만든 키로 접속해 볼 예정이다.

 

 

 

 

○ cd .ssh

- .ssh 디렉토리로 이동한다.

 

 

○ ls

- 현재 디렉토리의 파일 목록을 표시한다.

 

 

○ cat authorized_keys

- authorized_keys 파일의 내용을 출력한다.

- 이 파일은 해당 서버에 접속을 허용할 공개키들이 저장된 곳이다.

- 이 파일에 공개키를 추가하면 해당 키를 가진 사용자는 비밀번호 없이 SSH로 접속할 수 있다.

 

 

○ nano authorized_keys

- nano는 텍스트 파일을 편집할 수 있는 명령어다.

- authorized_keys 파일을 열어 공개키를 추가하거나 수정할 수 있습니다.

 

 

 

 

 

 

 

 

- authorized_keys 파일에 우리가 기존에 만들었던 공개키가 하나 들어가 있다.

- 저게 한 줄이다.

 

 

 

 

 

 

 

- 공개키를 붙여넣기하라고 하고 있다. 저걸 복사한다.

 

 

- 커서를 밑으로 옮기고 우클릭해서 붙여넣기한다.

 

 

 

 

 

 

 

 

- 위의 어제 리눅스에서 만든 공개키고, 아래는 오늘 윈도우에서 만든 공개키다.

 

- ctrl + x, y, 엔터로 저장하고 나온다.

 

 

 

 

 

 

 

- 이러면 이제 새로 만든 키로도 접속이 가능하다.

 

- 지금 열려있는 탭을 닫는다. 

 

 

 

 

 

 

 

- 왼쪽의 세User sessions에서 VM에 설치된 우분투 세션을 우클릭한다.

- Edit session을 클릭한다.

 

 

 

 

 

 

 

 

- Use private key에서 id_rsa를 id_rsa2.pem으로 선택하고 접속해본다.

 

 

 

 

 

 

 

- 이렇게 바꾸고 ok를 누르고 세션에 접속한다.

 

 

 

 

 

 

 

- 성공적으로  접속이 된다. 

 

 

 

 

 

 

ㅁ 정리

 

- ppk형식의 개인키를 OpenSSH에서 쓸 수 있게 pem형식으로 바꿨다.

 

- 그리고 VirtualBox에 설치된 우분투의 authorized_keys 파일을 수정해서 공개키를 추가했다.

이 파일은 해당 서버에 접속을 허용할 공개키들이 저장되는 곳이다.

 

- 내 개인키를 가지고 SSH서버에 접속을 시도하면, 개인키와 맞는 짝의 공개키가 그 서버에 있는지 찾는다.

있으면 접속이 되고 없으면 안된다.

 

- 다른 PC에서 접속할 때도 나는 개인키만 가지고 있으면 된다.