비밀번호, 비밀번호 문구 및 개인 키를 사용하여 scp/sftp 스크립트를 작성했는데 Winscp에서는 작동하지만 Linux 쉘에서는 작동하지 않습니다.

비밀번호, 비밀번호 문구 및 개인 키를 사용하여 scp/sftp 스크립트를 작성했는데 Winscp에서는 작동하지만 Linux 쉘에서는 작동하지 않습니다.
#!/usr/bin/expect -f
spawn /usr/bin/scp  -i "/pkg/scripts/myppk.ppk"  -P 11111    [email protected]:/OUT/mycsc.csv  /manpkg
expect {
expect "*phrase*" {
    send "mypassphrase\r"
    
}
expect "*sword.*" {
    send "mypassword\r"
}
}
interact

답변1

실제로 무엇이 잘못되었는지, 어떤 오류가 발생했는지 등을 알려주지 않았으므로 이것은 단지 추측일 뿐입니다. 문제는 \r당신이 어떤 이유로 보낸 비밀번호와 . 이건... 현대 시스템에는 전혀 의미가 없습니다. 과거에는 \r최신 Mac 및 기타 모든 *nix 시스템 \n에서 사용되는 줄 끝 문자로 \r\n.

\r*nix 시스템에서 이 작업을 수행하려면 다음을 교체 해야 합니다 \n.

#!/usr/bin/expect -f
spawn /usr/bin/scp  -i "/pkg/scripts/myppk.ppk"  -P 11111    [email protected]:/OUT/mycsc.csv  /manpkg
expect {
expect "*phrase*" {
    send "mypassphrase\n"
    
}
expect "*sword.*" {
    send "mypassword\n"
}
}
interact

그래도 문제가 해결되지 않으면 질문을 편집하고 실행 시 실제로 어떤 일이 발생하는지 설명하십시오.

관련 정보