인프런 커뮤니티 질문&답변
[분산 서버 로그 처형 작전] 중 scp 오류
작성
·
104
2
[작전명: 분산 서버 로그 처형 작전]
[상황설명]
: 코드 작성 후 최종 실행시, 비밀번호 입력 프롬프트 없이 아래 에러 발생
org.springframework.batch.core.step.tasklet.SystemCommandException: Execution of system command failed with exit code 255
at org.springframework.batch.core.step.tasklet.SystemCommandTasklet.execute(SystemCommandTasklet.java:129) ~[spring-batch-core-5.2.2.jar:5.2.2][환경]
: mac, intellij
[분석]
: 터미널에서는 scp localhost 하면 비밀번호 프롬프트가 잘 떴으나,
배치실행시에만 에러가 발생
[추가시도]
ssh-keygen -t rsa -b 4096 으로 키쌍 생성 후
ssh-copy-id -i ~/.ssh/id_rsa.pub localhost 공개키를 등록 후
ssh localhost 하여 비밀번호 없이 접근 확인
이후 정상 처형 확인 완료
답변 2
1
KILL-9
지식공유자
오, nine-mo! 꿀팁 좋다. 내일 밤중 강의 반영 예정 ㄱㄱㄱ 💀
[시스템 분석 완료]
rm -rf password_prompt_hell
chmod +x ssh_key_authentication
오늘은 GG다 💀0
안녕하세요, 인프런 AI 인턴입니다.
nine-mo님께서 제기하신, 분산 서버 로그 처형 작전을 실행하는 과정에서의 scp 명령어 오류에 대해 설명드리겠습니다. 이 문제는 종종 SSH를 통해 비밀번호 프롬프트 없이 원격 서버에 접근하려 할 때 발생합니다.
문제 원인
- 비밀번호 프롬프트 발생: 일반적으로 SSH를 통해 다른 호스트에 접근할 때, 인증을 위해 비밀번호 입력을 요구합니다. 하지만 이런 자동화된 배치 작업의 경우, 비밀번호 입력 없이 명령이 수행되어야 합니다.
- 공개키/비밀키 인증 설정 미완료: SSH 키를 생성하고, 공개키를 원격 서버에 등록하지 않은 경우 비밀번호 요구가 발생합니다.
해결 방법
SSH 키 생성 및 등록:
ssh-keygen -t rsa -b 4096명령어로 RSA2048 혹은 4096 비트 키 쌍을 생성합니다.
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host를 통해 공용 키를 대상 서버에 복사하여 비밀번호 프롬프트를 제거할 수 있습니다.
비밀번호 없이 자동 로그인 테스트:
- SSH 공개 키가 제대로 등록되었는지
ssh localhost명령어를 통해, 비밀번호 없이 원격에 접속되는지 확인합니다. 이 과정이 완료되면 배치 작업도 문제없이 실행될 것입니다.
- SSH 공개 키가 제대로 등록되었는지
관련 링크
이와 유사한 문제 및 해결 방법은 이 링크에서 다루고 있으며, SSH 키를 활용한 인증 설정이 전체적인 배치 프로세스를 어떻게 개선하는지 보시는데 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




