OSX Mac 에서 AWS Console 인증서 문제 발생시 해결법

AWS를 이용해서 Web Server를 구축하는데 문제가 발생했다.

윈도우의 Putty로 접속을 하면 정상적으로 접속이 되는데... 전통적인 방법으로 Terminal에서 ssh를 이용해서 접속을 하려면

미친듯이 안되는 것이다.

Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 

invalid format 

인내의 한계를 끌어올리는 상황이 발생했다.

왜 Windows에서는 정상적으로 되는데... 전통적인 방법에서는 문제가 생기는 걸까~~~~

결론부터 이야기 하면... 에러 메세지 대로... Key의 Format이 다르다는게 문제였다.

내가 AWS에서 내려 받은 Key File의 Format과 OSX Terminal에서 사용할 수 있는 Key Format은 달랐던 것이다.

AWS 설치 후 받은 PEM 인증서 파일의 내용이다.

보는 것처럼.. SSH-RSA 형태이다.

그런데... OSX Terminal의 OpenSSH에서 AWS를 접속하기 위해서 사용되는 형태는

이런 형태이다.

그럼 기존에 받은 파일을 OpenSSH를 이용해서 AWS에 접속하기 위해서 format을 변경해야 한다.

Widows의 Putty에서도 하는 방법도 있다.

출처 : https://serverfault.com/questions/854208/ssh-suddenly-returning-invalid-format

 

그런데 나는 Widows가 없으므로... OSX에서 brew를 이용하는 방법으로 진행을 했다.

brew install putty && puttygen ~/.ssh/my-key-name.ppk -O private-openssh -o ~/.ssh/my-key-name1.ppk

나의 경우는 putty와 puttygen이 설치가 되어 있었기 때문에

brew reinstall putty && puttygen ~/.ssh/my-key-name.ppk -O private-openssh -o ~/.ssh/my-key-name1.ppk

 

그 후에 접속을 시도해 보니... 정상 접속이 되었다.

먼저 EC2로 접속을 해서 2211 포트를 터널링 걸어주고....

 

localhost 로 2211 포트로 접속을 해서 AWS의 WEB 서버로 터널링 접속을 해서 접속을 하면 원하는 곳으로 접속 완료~!!

 

정말... Intel MAC 부터 해서 거의 10년 넘게 실제 필드에서 개발에 Mac을 사용을 하고 있지만...

이렇게 만나는 Windows에서는 잘 되는데... OSX에서 안되는 문제를 해결하는데 너무 시간이 걸리고 짜증스럽다.