2014-10-29 4 views
1

저는 이것을 알아 내려고 노력했습니다. 누군가가 도울 수 있기를 바랍니다. 나는 유닉스 서버의 SCP 파일에 배치 스크립트를 작성하여 Windows 서버에 저장한다. 열쇠가 설립되었습니다. 그러나 서버는 여전히 "암호"를 묻습니다. 아래 스크립트는 다음과 같습니다. 내 옵션에 대해 내가 잘못한 것을 누군가가 볼 수 있기를 바랍니다. 공개 키와 비공개 키가 설정되었습니다. 열쇠를 사용하여 퍼티로 로그인 할 수있었습니다. 그러나 스크립트를 사용하려고해도 여전히 암호를 묻습니다. 그것은 서버가 지문을 보지 못하는 것과 같습니다.WinSCP SCP 스크립트에서 개인 키 사용

winscp.com /command "option batch abort" "option confirm off" 
"open scp://[email protected]/ -hostkey=""ssh-rsa fingerprint""" 
"get /var/log/CPbackup/backups/R77 backup file* D:\fwlogbackups\*" 

답변

1

당신은 open 명령에 개인 키를 지정하지 않았습니다. 이를 위해서는 -privatekey= switch을 사용하십시오.

아마 -hostkey= 스위치로 혼동을 느낄 것입니다. 이는 서버의 공개 키을 확인하는 데 사용됩니다.
Verifying the host key을 참조하십시오.

-hostkey=에 계정의 공개 키 지문을 지정한 경우 서버의 공개 키 지문으로 업데이트해야합니다.
당신은 get 명령에 공백이있는 경로의 주위에 따옴표를 누락, Where do I get SSH host key fingerprint for use with scripting or .NET assembly?


NTB를 참조하십시오.

winscp.com /command^
    "open scp://[email protected]/ -privatekey=""path\mykey.ppk"" -hostkey=""ssh-rsa fingerprint"""^
    "get ""/var/log/CPbackup/backups/R77 backup file*"" D:\fwlogbackups\*"^
    "exit" 

가합니다 (option 명령이 WinSCP에의 최신 버전에 더 이상 필요하지 않은)처럼 전체 명령 줄 수 있어야

"get ""/var/log/CPbackup/backups/R77 backup file*"" D:\fwlogbackups\*" 

: 같은
그것은해야합니다.

+0

수정 해 주셔서 감사합니다. 나는 혼란스러워했다. 나는 변화를 만들었지 만, 이제는 다른 문제가 여전히 남아 있습니다. 그것은 여전히 ​​비밀 번호를 묻는거야? -privatekey = ""ssh-rsa –

+0

@StanStewart'-privatekey'는 공개 키 지문이 아닌 개인 키 파일의 경로로 설정되어야합니다. 내 대답에 완전한 명령 줄 샘플을 추가했습니다. –

+0

감사합니다. 나는 스크립트에 제안 된 변경을했다. 그러나 그것은 여전히 ​​비밀 번호를 묻습니다. –