パスワード、パスワードフレーズ、秘密鍵を使用して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

それでも問題が解決しない場合は、質問を編集し、実行時に実際に何が起こるかを説明してください。

おすすめ記事