콘텐츠로 건너뛰기

윈도우에서 MobaXterm으로 EC2 인스턴스 SSH 접속하기 (Feat. 접속 에러 해결법)

AWS에 가입하고 내 서버(EC2 인스턴스)를 만들었는데, 막상 접속하려고 하면 까만 화면이나 에러 메시지만 마주하는 경우가 많습니다. 오늘은 윈도우 환경에서 MobaXterm을 사용하여 AWS Ubuntu 인스턴스에 SSH로 접속하는 방법과, “Server refused our key” 에러 발생 시 해결 과정을 정리해 봅니다.


1. AWS 로그인 및 MFA 팁

가장 먼저 AWS 콘솔(aws.amazon.com)에 접속하여 로그인을 진행합니다.

  • 로그인 유형: “Root user email”을 선택합니다.
  • MFA 인증: Google Authenticator 등의 앱을 사용하여 인증 코드를 입력합니다.
  • 💡 Tip: 계정 생성 시 2개의 연속된 MFA 숫자를 넣으라고 할 때 당황하지 마세요. 앱에 나타난 첫 번째 6자리 숫자를 입력하고 기다렸다가, 시간이 지나고 바뀌는 다음 6자리 숫자를 입력하면 됩니다.

2. EC2 인스턴스 생성하기 (프리티어)

무료로 서버를 운영해 보기 위해 프리 티어(Free Tier) 옵션을 활용하여 인스턴스를 생성합니다.

  • AMI 선택: ‘Ubuntu Server 22.04 LTS (HVM), SSD Volume Type’을 선택합니다.
  • 인스턴스 유형: 스크롤을 내려 t2.micro (프리 티어 사용 가능)를 선택합니다.
  • 키 페어 생성 (중요!):
  • SSH 접속의 핵심인 열쇠입니다. ‘새 키 페어 생성’을 클릭합니다.
  • 공개키(Public Key)는 생성된 서버의 .ssh 폴더에 자동 저장됩니다.
  • 개인키(Private Key)는 생성 즉시 내 컴퓨터로 다운로드됩니다(.pem 또는 .ppk).
  • 주의: 이 파일은 절대 잃어버리면 안 되며, 안전한 곳에 백업해 두세요.

인스턴스에 aws에서 제공하는 ssh 연결을 한 후, 아래와 같이 하면 ssh용 퍼블릭키를 확인 할 수 있다.

ubuntu@ip-123-123-123-123:~$ ls -al
total 28
drwxr-x— 4 ubuntu ubuntu 4096 Oct 28 02:29 .
drwxr-xr-x 3 root   root   4096 Oct 28 02:25 ..
-rw-r–r– 1 ubuntu ubuntu  220 Jan  6  2022 .bash_logout
-rw-r–r– 1 ubuntu ubuntu 3771 Jan  6  2022 .bashrc
drwx—— 2 ubuntu ubuntu 4096 Oct 28 02:29 .cache
-rw-r–r– 1 ubuntu ubuntu  807 Jan  6  2022 .profile
drwx—— 2 ubuntu ubuntu 4096 Oct 28 02:25 .ssh
ubuntu@ip-123-123-123-123:~$ cd .ssh
ubuntu@ip-123-123-123-123:~/.ssh$ ls
authorized_keys
ubuntu@ip-123-123-123-123:~/.ssh$ more ./authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAA2fidfwAAABAQDRnfqKlGbIICkjq73h99uyn-9cFHIcRClpNtm7CrplsOSOoRb8N6qBO8F3QBPT0d9kqZ0XMpfGdf0NjdER15pU9f39g9m2D2gOlu49scz9A7speyH7ycdepdPrZsJ0umHokUyI0P-O+r5uIG4ECQbHqY6OoR0h8WpnS4HwVFE3GHSqfdsdfevnHhRBsc2aizVL
GZggWiVojiI6OT7vlWGVyuUhfdwfezgr6sWKDOIBY3F3HAM4760NQ7kDNwGjgX8PyTs6D893y+zQpW5+jYDnOwdrb3Kwpld5eEVNdOhAEGy4GM5Yr/XxwnCdfdsafRaoryNpkQJ308karQiHlAHo/LlPcqD key_name
ubuntu@ip-123-123-123-123:~/.ssh$


3. MobaXterm으로 SSH 접속하기

MobaXterm은 SSH 클라이언트, X server 등을 통합 지원하는 강력한 윈도우용 터미널입니다.

  1. Session 생성: 좌측 상단 Session 아이콘 클릭 -> SSH 선택.
  2. Remote host: AWS 인스턴스의 퍼블릭 IP 주소 입력.
  3. Username: 우분투의 기본 아이디인 ubuntu 입력.
  4. Advanced SSH settings:
    • Use private key를 체크하고, 아까 다운로드한 .pem (또는 .ppk) 파일을 등록합니다.
  5. 접속: 세션을 더블클릭하면 접속이 시도됩니다.

정상적이라면 아래와 같은 환영 메시지가 뜨며 접속에 성공합니다.

Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-1015-aws x86_64)

4. 트러블 슈팅: “Server refused our key” 에러 해결

만약 접속이 되지 않고 “Server refused our key”라는 에러가 뜬다면? 제가 겪었던 시행착오와 해결 방법을 공유합니다.

시도 1: 윈도우 CMD에서 접속 확인

MobaXterm 문제인지, 키 문제인지 확인하기 위해 윈도우 명령 프롬프트(CMD)에서 직접 접속을 시도해 봅니다.

Bash

# 실패했던 명령어 (키 파일 이름이 아이디로 인식됨)
ssh -i aaa@aws.ubuntu2204.t2.micro.pem 123.123.123.123
> Permission denied (publickey).

# 성공한 명령어 (계정명 ubuntu 명시)
ssh -i aaa@aws.ubuntu2204.t2.micro.pem ubuntu@123.123.123.123
> Welcome to Ubuntu...

CMD에서는 정상 접속되었습니다. 즉, AWS 설정이나 키 파일 자체에는 문제가 없다는 뜻입니다.

시도 2: PuTTY로 교차 검증

PuTTY를 설치하여 .ppk 파일로 변환 후 접속해 보니 이 또한 정상 접속되었습니다. 그렇다면 범인은 MobaXterm입니다.

시도 3: MobaXterm 버전 확인 (해결!)

MobaXterm에서 .ppk 파일을 사용했을 때 too new라는 에러 메시지가 얼핏 보였습니다. 혹시나 해서 버전을 확인해 보았습니다.

  • 내 버전: v20.6 (구버전)
  • 해결책: Help > Check for updates를 통해 최신 버전(v24.x 이상)으로 업데이트.

업데이트 후 다시 접속하니 거짓말처럼 한 번에 연결되었습니다. 최신 암호화 방식이나 키 포맷을 구버전 클라이언트가 지원하지 못해서 발생한 문제였습니다.

추가 팁: 파일 권한(Permission) 문제

만약 위 방법으로도 안 된다면, 윈도우에서 키 파일의 권한 문제일 수 있습니다. (AWS 키 파일은 보안상 소유자만 읽기 권한이 있어야 함)


결론

AWS 인스턴스 접속이 안 될 때 당황하지 말고 다음 순서로 체크해 보세요.

  1. 최신 버전 확인: MobaXterm을 최신 버전으로 업데이트하세요. (가장 중요!)
  2. 명령어 확인: CMD 등에서 테스트할 때 ssh -i [키파일] ubuntu@[IP] 형식을 지켰는지 확인하세요.
  3. 권한 확인: 키 파일의 권한 설정이 너무 개방되어 있지 않은지 확인하세요.

이제 쾌적한 환경에서 AWS 서버를 운영해 보시기 바랍니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다