문제 발생
- 깃풀(git pull)을 실행한 후, 로컬 서버 디렉토리에서 빌드하여 .war 파일을 생성하였고 .war 파일을 Tomcat 웹앱 디렉토리로 복사하려는데 다음과 같은 문제가 발생했습니다.
- SSH 키의 passphrase를 입력했지만 비밀번호가 일치하지 않는지 인증을 거부했다는 경고만 떴습니다.
* 패스프레이즈(passphrase)**는 개인 SSH 키를 생성할 때 설정한 비밀번호
해결방법
1. 경로 확인
먼저 /tmp/private_key.pem 경로에 실제로 파일이 존재하는지 확인해야 합니다.
경로가 올바른지, 그리고 해당 파일이 존재하는지 확인해보았지만 경로도 일치했고 파일도 존재했습니다.
2. 새로운 SSH 키 생성
여러 시도를 해봤지만 실패를 거듭하며 ssh키를 새롭게 생성하기로 결정했습니다.
ssh-keygen -t rsa -b 2048 -f ~/.ssh/키파일_이름
- -t rsa : RSA 알고리즘을 사용하여 키를 생성합니다.
- -b 2048 : 2048비트 길이의 키를 생성합니다.
- -f ~/.ssh/키파일_이름 : 키 파일의 저장 경로와 파일명을 지정합니다.
패스프레이스 입력
ssh 키를 생성하면 passphrase를 입력하라고 하는데 설정하지 않으려면 비워 두고 Enter를 누르시면 됩니다.
저는 보안을 위해서 입력을 하고 메모장에 잘 적어두었습니다.
참고로 5자리 이상을 입력하셔야 됩니다.
키를 새롭게 생성하면 키 지문(Fingerprint) 과 랜덤 아트(Randomart) 이미지가 나타납니다.
3. 새롭게 생성된 공개 키 확인하기
cat ~/.ssh/키파일_이름.pub
명령어를 입력하면 아래와 같이 나올 텐데 전부 복사해 주세요.
ex ) ssh-rsa EAdoWKEFJO@#$NMASM ... ec2-user@아이피주소.AWS 리전.프라이빗 도메인
4. 기존 .pem 파일로 EC2 인스턴스에 로그인(이미 접속해 계시다면 다음 순서로 넘어가주세요)
먼저 기존의 .pem 파일을 사용하여 EC2 인스턴스에 로그인합니다.
ssh -i /path/to/your/origin_SSH_Key_file_name.pem ec2-user@your_ip_address
5. 새로 발급받은 SSH 공개 키를 EC2에 추가
EC2 인스턴스에 로그인한 후, 새로 생성한 SSH 키의 공개 키를 ~/.ssh/authorized_keys 파일에 추가해야 합니다.
1. 공개 키를 EC2 인스턴스에 추가
echo "아까 복사한 공개키 붙여넣기" >> ~/.ssh/authorized_keys
2. 파일 권한 수정: 보안을 위해 authorized_keys 파일의 권한을 600으로 설정합니다.
chmod 600 ~/.ssh/authorized_keys
6. 새 SSH 키로 로그인 테스트
ssh -i ~/.ssh/ssh_key_file_name username@your_ip_address
접속 시 패스프레이즈를 입력하라는 메시지가 나오면 생성할 때 설정한 패스프레이즈를 입력해주세요.

로그인이 잘 되는걸 확인할 수 있습니다.
7. .war 파일을 EC2 인스턴스로 전송할 때 새 SSH 키 사용하기
새 SSH 키로 EC2 인스턴스에 접속한 후, scp 명령어를 사용하니 파일을 EC2 인스턴스로 전송할 수 있었습니다.
scp -i /path/to/your/ssh/key /home/username/your-repository/build/libs/*SNAPSHOT.war username@your-ip-address:/home/username/apache-tomcat-10.1.31/webapps/

8. 전송된 파일 확인
전송이 완료되면 EC2 인스턴스에서 webapps 디렉토리로 이동하여 파일이 제대로 전송되었는지 확인할 수 있습니다
cd /home/username/apache-tomcat-10.1.31/webapps/
ls
'AWS' 카테고리의 다른 글
client_loop: send disconnect: Broken pipe (0) | 2025.02.16 |
---|---|
리눅스 서버에 톰캣 설치 후 403 오류 해결 방법(403 Access Denied) (0) | 2024.12.17 |
리눅스 서버에서 swap file 설정하는 방법 (0) | 2024.11.14 |
AWS에서 Access Key 발급받는 방법 (0) | 2024.11.10 |
Elastic IP 사용하기 (0) | 2024.11.10 |