2013-02-23 2 views
3

SCP를 포함하여 일부 명령을 병렬로 실행해야합니다. 이를 위해 저는 GNU Parallel을 사용하고 있습니다. 문제는 암호를 SCP로 전달하는 방법을 모른다는 것입니다. 이것은 내가 실행 해요 비슷한 라인 :GNU 병렬에서 SCP 실행

ls 2011_* | parallel scp {} [email protected] 

그리고 ls 3 개 파일을 발견하면, SCP 동시에 암호를 세 번 물어 난 단지 입력 마지막 프로세스에 암호를 묻는 메시지를 표시하도록 할 수 있습니다 그것을 위해.

공개 키를 사용하여이 문제를 일시적으로 해결했지만 회사 정책으로 인해 향후 옵션으로 사용할 수 없습니다. SCP 맨 페이지를 읽었는데 옵션을 찾을 수 없었지만 Parallel에 암호를 입력 할 수있는 옵션이 있어야한다고 확신합니다.

누군가이 문제를 해결할 방법을 알고 있습니까?

편집 : 나는 그것이 scp에 그것을 요청 때마다 그것을 줄 수 있도록 내가 parallel 암호를 알 수있는 방법이 있는지 알고 싶습니다.

ls 2011_* | parallel scp {} [email protected] < file_with_password.txt 

그러나 STDIN의 리디렉션 ls 또는 parallel에 대한 scp 및하지 않는 것을 지정 : 어쩌면이 같은 뭔가.

답변

3

ssh-agent : 암호문을 한 번만 입력하면 편리하게 암호 보호 인증서를 얻을 수 있다는 이점이 있습니다.

1
parallel sshpass -p $PASS scp -P $PORT -rp {} ~/to_dir ::: $ADDRESS:~/from_dir/* 
+1

편집 : $ PASS SCP -P $ PORT -rp {} ~/to_dir ::: $ 주소 -p 병렬 sshpass : 스택 오버플로 ~/from_dir/* – Jordan

+2

에 오신 것을 환영합니다! 이 코드가 질문에 대답 할 수 있지만, _context_를 설명하고 _how_가 작동하며 _when_를 사용하는 것이 더 낫습니다. 코드 전용 답변은 장기적으로 유용하지 않습니다. 또한 대답을 [편집] 할 수 있으며 설명을 추가 할 필요가 없습니다. 변경 사항을 추가하고 코드 서식 (코드 강조 표시를위한 네 개의 공백)을 수정하도록 편집했습니다. –