LINUX
2021.12.29 / 24:27

aws ec2 putty 터미널 접속_OpenSSH SSH-2 private key (old PEM format) 해결

MyData
추천 수 37

aws에서 ec2 인스턴스를 생성해보았다.

처음부터 별 문제 없었으면 한번에 포스팅 했을텐데,

No Supported authenication methos available (server sent: publickey)

aws ec2 putty 접속

라는 메세지가 뜨면서 터미널 접속이 되지 않아 터미널 접속 포스팅을 나누게 되었다.

aws ec2 원격 터미널 접속을 위해 putty를 다운로드 받는다.

aws ec2 인스턴스 목록 중에 터미널 연결할 인스턴스를 선택하고

상단에 [연결] 버튼을 선택하면 [인스턴스에 연결] 팝업내용에

ubuntu 계정으로 퍼블릭DNS에 ssh 연결할 수 있다는 내용이 나온다.

putty를 실행하고 기본화면 [Session] 메뉴에

Host Name(or IP address) : ubuntu@퍼블릭DNS

Port : 22 (기본) -> aws 자체적으로 최초 인바운드 포트 방화벽은 22로 열려있다.


Saved Session :

접속할 터미널 이름을 입력하고 Save를 눌러 접속정보를 저장하면

매번 터미널 연결할 때 마다 정보를 일일이 입력하지 않고

Load해서 불러올 수 있다.

접속정보가 변경될 때 마다 Save 해야 한다.


[Connection]-[Auth] 메뉴의

Private key file for authenication 입력란에 aws 에서 다운받은 PEM 키 파일을 선택한다.


별도의 Saved Session하였고,

Private key file for authenication 파일내용을 바꿨다면

putty 종료전에 session 내용을 다시 저장해야한다.


접속하려 하면 문제의

[PuTTY Fatal Error]

No Supported authenication methos available (server sent: publickey)

메세지가 뜨고 putty가 종료된다.

처음에 터미널의 내용이 보이지 않아서 몇번을 반복하다가 터미널 내용보고 old PEM format 이라는 내용으로 접속문제를 해결했다.

putty를 다운로드 하면서 함께 받은 puttygen.exe 파일을 실행한다.

Load버튼을 aws에서 받은 PEM 파일을 불러온다.

기본 *.ppk 로 선택되어 있기 때문에 확장자를 *.* 로 선택해야 로드할 수 있다.

키의 내용이 load 되고

Key comment : imported-openssh-key

(별내용아니다. 값을 바꿔도 상관없다.)

Type of key to grenerate : RSA (기본)

Number of bits in generated key : 2048 (기본)

Key passphrase :

입력하면 원격 인증서 접속할때 해당 암호를 묻는다.

입력안하면 인증없이 접속된다.

Confirm passphrase : Key passphrase 확인

Key passphrase 입력안했으면 여기도 공란으로 두면된다.

[Save private key] 버튼을 선택해서 PEM 파일을 ppk 파일로 변환할 수 있다.

putty를 다시 실행하여 동일 접속 정보에

[Connection]-[Auth] 메뉴에 아까 선택한 PEM 파일 대신에

변환한 ppk 파일을 선택한다.


별도의 Saved Session하였다면,

Private key file for authenication 파일내용이 ppk로 바꼈으니

putty 종료전에 session 내용을 다시 저장해야

다음번 putty 실행시 session 내용을 load할때 ppk 파일로 불러올 것이다.


다시 접속하면 imported-opeenssh-key 의 Passphrase를 입력하라 나오고

접속되었다.


ppk 변환시에 key Passphrase를 입력하지 않으면 인증없이 접속된다.

이렇게 old PEM format 문제를 해결하였다.

passphrase 인증에 성공하면 정상 접속된다.