2013-10-17 1 views
1

일부 이름 바꾸기 및 보관 단계를 수행하는 쉘 스크립트가 있습니다. 여러 파일을 복사하는 sftp 명령을 추가했습니다. 하지만 putty를 통해 원격 컴퓨터에 로그인하려고하면 과 같은 확인을 요청합니다. 계속 연결 하시겠습니까 (예/아니오)?. 예를 입력해야합니다. 그러나 스크립트를 통해이 작업이 수행되고 있으므로이를 수행하는 방법을 잘 모릅니다. 아래 내가 sftp [email protected]이 실행 된 후에 내가 위의 코드에서 예 통과하는 방법을 쉘 스크립트에서 sftp 모드로 확인을 추가하는 방법

cd <File Source Location> 
sftp [email protected] 
sftp> cd <target location to be copied> 
sftp> mput *.gz 

quit 

을 사용하고있는 스크립트입니다.

도움을 주시면 감사하겠습니다.

답변

1

나는 당신이 잘못된 문제를 해결하려고한다고 생각합니다.

sftp은 아직 호스트의 키를 알지 못해 확인을 묻습니다. 따라서 당신은 한 번에 당신이 원하는 모든 것을 할 것 같은 내가 대신 sftpscp 명령을 사용하는 것이 좋습니다이

ssh-keyscan -H remoteserver >> ~/.ssh/known_hosts 

처럼 당신에게 known_hosts 파일을 추가해야합니다.


scp somewhere/*.gz [email protected]:somewhere/else 

당신이 그것을하고 싶지 않아 어떤 이유로합니다. 당신은 중동 공격 남자에 취약 위의 명령을 사용하여 매우 불안 명령을

sftp -o StrictHostKeyChecking=no [email protected] 

을 고려할 수있다, 당신은 경고했습니다.

+0

@Grzegorz에게 감사드립니다. known_hosts에 키를 추가했습니다. 우리는 sftp를 사용하여 파일을 복사해야합니다. 그래서 mget 명령을 입력하면 쉘 스크립트를 실행하여 모든 것을 실행하고 명령을 입력 할 때까지 기다립니다. 스크립트가 mget 명령을 전달할 수 있도록 이것을 우회하는 방법이 있습니까? – Warlord

+0

@Sriram 예,'scp' 명령은 당신이 원하는 것을 정확하게 수행합니다.'sftp'와 달리 대화 형이 아니므로 스크립트에서 사용할 수 있습니다. –

관련 문제