如何在 Mac 上安装 sshpass?

我想从我的 Mac 自动化 ssh 登录。

它的确有一个简单的解决方案:

sshpass -p my_password ssh m_username@hostname

但我的问题是在我的 Mac 上安装 sshpass。

200738 次浏览

这里有如何安装 sshpass 的说明:

Https://gist.github.com/arunoda/7790979

对于 Mac,你需要安装 xcode 和命令行工具,然后使用非官方的 Homewbrew 命令:

curl -L https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb > sshpass.rb && brew install sshpass.rb && rm sshpass.rb

来自 github 的 LukesUbuntu提供的解决方案适合我:

用啤酒就行了

$ brew install http://git.io/sshpass.rb

请按照以下步骤在 mac 中安装 sshpass

curl -O -L https://fossies.org/linux/privat/sshpass-1.06.tar.gz && tar xvzf sshpass-1.06.tar.gz


cd sshpass-1.06


./configure


sudo make install

原因很简单:

Andy-B-MacBook:~ l.admin$ brew install sshpass
Error: No available formula with the name "sshpass"
We won't add sshpass because it makes it too easy for novice SSH users to
ruin SSH's security.

因此,在 Mac 上使用 curl/configure/install 对我来说非常有用。

2022年更新: 不幸的是,Aleks Hudochenkov 不再更新他的回购协议。有一些 GitHub 上的一堆回购协议声称包含一个自制的 sshpass 配方。信任他们中的哪一个(如果有的话)取决于你。

几年过去了,现在有一个适当的家酿 踢踏舞sshpass,由 Aleks Hudochenkov维护。要从这个水龙头安装 sshpass,运行:

brew install hudochenkov/sshpass/sshpass

来源

跟踪对我很管用

curl -O -L  https://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz && tar xvzf sshpass-1.06.tar.gz
cd sshpass-1.06/
./configure
sudo make install

2020年的另一个选择是这个自制水龙头,由 Esolitos维护

brew install esolitos/ipa/sshpass

我只是按照 这篇文章的说明做了,这很有帮助,

curl -O -L http://downloads.sourceforge.net/project/sshpass/sshpass/1.05/sshpass-1.05.tar.gz && tar xvzf sshpass-1.05.tar.gz


//This creates a directory sshpass-1.05


cd sshpass-1.05
./configure
make
sudo make install

啊,过时链接的问题。 直接转到 https://sourceforge.net/projects/sshpass/ 下载最新版本,然后 tar xvzf它,最后 cd to the dir where it got unpacked和安装: ./configure make sudo make install 我想这也适用于所有安装了支持的 C sdk 的操作系统..。

只是比之前的答案稍微更新了一下

curl -O -L  https://fossies.org/linux/privat/sshpass-1.09.tar.gz && tar xvzf sshpass-1.09.tar.gz
cd sshpass-1.09/
./configure
sudo make install

这在 OCT 2021年的时候是有效的

我发现这里列出的大部分答案都过时了。为了安装最新版本,我运行了这个程序,并根据这里的其他答案,直接从 sourceforge.net 下载了它。

curl -L https://sourceforge.net/projects/sshpass/files/latest/download -o sshpass.tar.gz && tar xvzf sshpass.tar.gz
cd sshpass-*
./configure
sudo make install

长话短说

为了避免不得不依赖于未知的 Github 存储库(直接或通过 Homebrewps) ,只需使用 MacPorts:)

只要安装 MacPorts,然后输入

sudo port install sshpass

详情/详细回答

这个想法是通过 MacPorts 安装 sshpass,而不是 Homebrew。

您可以在同一台计算机上同时使用 Homebrew 和 MacPorts,但是要小心,因为这两个源上都有一些可用的包,在这种情况下,您应该保持一致以避免冲突。

在这种情况下,通常我会优先考虑 Homebraw,但是他们不会提供 sshpass,就像他们明确说的那样。

事实上,如果你输入:

brew install sshpass

然后输出还会包括这句话:

We won't add sshpass because it makes it too easy for novice SSH users to ruin SSH's security.

在这种情况下,MacPorts 是唯一的选择(如果您真的想使用 sshpass)。

一些链接

链接到 MacPorts 项目
如何安装 MacPorts
链接到 MacPorts 上的 sshpass 端口