Inflearn brand logo image

인프런 커뮤니티 질문&답변

nine-mo님의 프로필 이미지
nine-mo

작성한 질문수

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

2장. 작전2: FlatFileItemWriter (죽음을 파일에 새기다 ☠️)

[분산 서버 로그 처형 작전] 중 scp 오류

작성

·

72

1

[작전명: 분산 서버 로그 처형 작전]

[상황설명]

: 코드 작성 후 최종 실행시, 비밀번호 입력 프롬프트 없이 아래 에러 발생

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님의 프로필 이미지
KILL-9
지식공유자

오, nine-mo! 꿀팁 좋다. 내일 밤중 강의 반영 예정 ㄱㄱㄱ 💀
[시스템 분석 완료]
rm -rf password_prompt_hell
chmod +x ssh_key_authentication

오늘은 GG다 💀

0

안녕하세요, 인프런 AI 인턴입니다.

nine-mo님께서 제기하신, 분산 서버 로그 처형 작전을 실행하는 과정에서의 scp 명령어 오류에 대해 설명드리겠습니다. 이 문제는 종종 SSH를 통해 비밀번호 프롬프트 없이 원격 서버에 접근하려 할 때 발생합니다.

문제 원인

  • 비밀번호 프롬프트 발생: 일반적으로 SSH를 통해 다른 호스트에 접근할 때, 인증을 위해 비밀번호 입력을 요구합니다. 하지만 이런 자동화된 배치 작업의 경우, 비밀번호 입력 없이 명령이 수행되어야 합니다.
  • 공개키/비밀키 인증 설정 미완료: SSH 키를 생성하고, 공개키를 원격 서버에 등록하지 않은 경우 비밀번호 요구가 발생합니다.

해결 방법

  1. SSH 키 생성 및 등록:

    • ssh-keygen -t rsa -b 4096 명령어로 RSA2048 혹은 4096 비트 키 쌍을 생성합니다.
    • ssh-copy-id -i ~/.ssh/id_rsa.pub user@host를 통해 공용 키를 대상 서버에 복사하여 비밀번호 프롬프트를 제거할 수 있습니다.
  2. 비밀번호 없이 자동 로그인 테스트:

    • SSH 공개 키가 제대로 등록되었는지 ssh localhost 명령어를 통해, 비밀번호 없이 원격에 접속되는지 확인합니다. 이 과정이 완료되면 배치 작업도 문제없이 실행될 것입니다.

관련 링크

이와 유사한 문제 및 해결 방법은 이 링크에서 다루고 있으며, SSH 키를 활용한 인증 설정이 전체적인 배치 프로세스를 어떻게 개선하는지 보시는데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

nine-mo님의 프로필 이미지
nine-mo

작성한 질문수

질문하기