springboot 프로젝트를 aws EC2를 이용하여 배포하기 위해 EC2 인스턴트를 생성한 후
putty로 ubuntu에 접속하던 중 ssh 연결 과정 오류가 발생하였습니다.
1. 개요 및 환경
Spring Boot 프로젝트를 AWS EC2의 Ubuntu 환경에서 접속 과정에서 발생한 오류 해결
- OS: Ubuntu 24.04 (EC2 인스턴스)
- DB: MariaDB
- 배포 방식: Git을 이용한 소스 코드 배포 후 Maven 빌드
- SSH 연결: Windows → EC2 (PuTTY)
2. 연결 과정
Putty로 EC2 서버에 접속하기 위해 aws 인스턴스 생성시 발급 받은 키 페어 확장자를 변경하여야 한다.
(.pem ->.ppk)
2-1.
puttygen 실행 > File > Load private key
2-2.
키 페어 경로로 들어간 후 .pem 파일 열기
2-3.
Save private Key 클릭 후 .ppk 키페어 발급
2-4.
- "Host Name (or IP address)"에 EC2 퍼블릭 IP 입력또는 그냥 IP만 입력 (예: 3.25.100.123)
- 포트 (Port) → 22 (기본값)
- Saved Sessions : 세션명 입력 (ubuntu)
2-5.
- "Connection → SSH → Auth" 이동
- "Private key file for authentication"에서 변환한 .ppk 키 선택
- "Session"으로 돌아가서 "Save" 후 "Open" 클릭
2-6.
login as : "ubuntu" 입력
2-7.
접속 완료
3. 발생한 문제 및 해결 방법
문제 1: SSH 연결 실패 (No supported authentication methods available 오류)
현재는 문제없이 해당 세션으로 접속이 잘 되지만 2-6 과정에서 "ubuntu" 입력시 "no supported authentication methods available" 라는 오류메세지가 뜨면서 접속이 되지않았다.
원인
- SSH 키 인증 방식 문제
- ssh-rsa가 PubkeyAcceptedAlgorithms에 포함되지 않음
우선 에러 원인 파악을 위하여 SSH 로그를 확인해보았다. (aws ec2 인스턴스 콘솔 연결 후 해당 명령어 입력)
sudo tail -f /var/log/auth.log
userauth_pubkey: signature algorithm ssh-rsa not in PubkeyAcceptedAlgorithms [preauth] 오류가 발생하였는데
이는 최신 OpenSSH 버전에서 ssh-rsa 알고리즘이 기본적으로 비활성화되었기 때문이라고 한다.
이를 해결하기 위해 aws 콘솔에서 EC2 인스턴스에 직접 접근하여 sshd_config 파일을 수정하였다.
해결방법
3-1
- SSH 설정 파일 수정
sudo nano /etc/ssh/sshd_config
3-2
- 아래 줄을 추가 또는 수정
PubkeyAcceptedAlgorithms +ssh-rsa
3-3
- 설정 반영 및 SSH 재시작
sudo systemctl restart ssh
3-4
- Putty 에서 다시 접속 시도
config 설정파일내 ssh-rsa 알고리즘을 허용되도록 코드를 추가하니 성공적으로 AWS EC2 인스턴스에 접속할수 있었다!
'AWS' 카테고리의 다른 글
[AWS] S3 파일 업로드시 CSV 파일 한글 깨짐 현상 (해결) (1) | 2025.04.09 |
---|---|
[AWS] Athena 사용 및 쿼리 실행 (S3) (0) | 2025.04.09 |
[AWS] S3 버킷 생성 CSV파일 업로드 (0) | 2025.04.08 |
[AWS] SpringBoot 프로젝트 (EC2) 배포 Mariadb,Maven, git(2) (0) | 2025.04.04 |
[AWS] SpringBoot 프로젝트 배포 Mariadb,Maven (0) | 2025.04.04 |