如何在 shell 脚本中打开 sftp 连接并执行 sftp 命令?

如何在 shell 脚本中打开 sftp 连接并执行 sftp 命令?

我需要连接到多个 SFTP 连接并将文件复制到我的系统。

我将在我们的本地系统中维护一个 CSV 文件。它将包含多个合作伙伴的用户名、密码、主机名、端口和收件箱文件夹路径的信息。

ex : partner1 | user1 | password1 | hostname1 | port1 | inbox path| outbox path| 
     partner2 | user2 | password2 | hostname2 | port2 | inbox path| outbox path|

在我的 Unix 脚本中,我需要准备 SFTP 命令,以登录合作伙伴 1 的 SFTP 连接并获取所有文件并移动到发件箱路径。合作伙伴 1 的文件传输完成后,脚本应准备下一个合作伙伴的 SFTP 命令以进行文件移动。

如何在脚本中设置SFTP命令?

ssh -oport username@hostname   --> after that how to set password command 

笔记:有些合作伙伴使用基于私钥的身份验证,有些合作伙伴使用基于公钥的身份验证。如何在脚本中实现这些基于私钥和公钥的身份验证的逻辑。

答案1

我建议你使用lftp,它是专为脚本 SFTP 会话等而设计的。

相关内容