使用Mac OS X中的Bash脚本中的SFTP命令

4
我需要通过SFTP和SSH从Mac主机向远程PC(freeSSH)传输文本文件。这两台设备连接在本地网络中。那么,有没有办法从Bash脚本内运行SFTP命令(提供用户名和密码)?
我已经尝试使用expect进行一些脚本编写,但是没有得到任何结果。
我找到了一个类似的帖子,如何从Bash脚本运行带有密码的sftp命令,但是它适用于Linux。我使用的是Mac系统。

我曾经有同样的需求,最终选择使用Perl的 Net::SFTP 模块。 - glenn jackman
4个回答

3

lftp 适用于脚本化FTP(和SFTP,FTPS),并且你可以使用brew进行安装:

brew install lftp

3

您也可以在Mac上下载并安装sshpass。从此下载链接获取最新版本源代码。

使用sshpass的其他步骤在我的链接答案中。


1

使用homebrew安装最新版本的sshpass:

brew install https://raw.githubusercontent.com/EasyG0ing1/sshpassBrew/main/Formula/sshpass.rb

你可能需要这样安装它:
wget https://raw.githubusercontent.com/EasyG0ing1/sshpassBrew/main/Formula/sshpass.rb

brew install sshpass.rb

0

虽然@anubhava的答案是正确的,但它只指向了源代码,没有帮助编译。

要在MacOS上使用brew轻松安装sshpass,请使用此非官方软件包:

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

来源:https://gist.github.com/arunoda/7790979


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接