비밀번호 모드를 사용하여 sftp를 통해 파일을 전송하려고 하는데
파일의 메시지 내용 아래에 있습니다.put-script
open sftp://user:password@host
get /tmp/testftp.txt
exit
산출:
$ lftp -f put-script
/tmp/testftp.txt' at 0 [Delaying before reconnect: 29]
도와주세요
답변1
그 스크립트가능한작동하게 합니다(그러나 매뉴얼 페이지는 이 방식으로 사용자와 비밀번호를 허용한다는 것을 의미하지 않습니다).
나에게 도움이 된 것은 다음과 같이 사용자/비밀번호를 추출하는 것입니다.
lftp -u user,password -e "command"
하지만 나는 사용하고 있어요저것개인 키를 사용하려면 명령 시작 부분에 옵션을 설정하여 지정된 키를 사용하십시오.내 키 파일(스크립트에서 사용할 수 있음):
set ftp:ssl-allow yes
set ssl:key-file mykeyfile
set ftp:ssl-force true;
일반적으로 개인 키가 선호되기 때문입니다. 이 경우 lftp
명령에 제공된 비밀번호는 무시됩니다(그러나 해당 명령 구문 분석기를 완화하기 위해 비밀번호를 제공해야 합니다).
답변2
sshd 구성에서 필수 비밀번호 인증 값을 "yes"로 변경하고 서비스를 다시 시작했습니다. 이제 비밀번호를 통해 SFTP를 사용할 수 있습니다.