在 OSX Mavericks 上安装 sshpass
首次使用Ansible设置服务器时,您需要将ssh凭据直接传递给Ansible以设置ssh密钥。这是通过使用sshpass程序完成的,该程序允许Ansible将您的用户凭据直接传递给ssh,以便打开与服务器的连接。sshpass程序可以使用apt或yum包管理器轻松安装在Linux系统上,但在OSX上,您需要手动安装它。
为了在OSX上安装命令行软件,您需要一些与Xcode捆绑在一起的命令行工具。Xcode和命令行工具是Apple提供的免费程序,可在Appstore上获得。安装Xcode后,您需要打开它并安装命令行工具。您可以通过转至首选项>下载>命令行工具并单击安装按钮来执行此操作。安装并设置完所有内容后,您可以继续安装sshpass。
sshpass程序是一个开源项目,目前在sourceforge上可用。您可以手动下载最新版本,也可以使用以下命令从sourceforge下载sshpasstar,然后解压缩。
curl-O-Lhttp://downloads.sourceforge.net/project/sshpass/sshpass/1.05/sshpass-1.05.tar.gz&&tarxvzfsshpass-1.05.tar.gz
这将创建一个名为“sshpass-1.05”的目录,在终端中打开该目录并运行以下命令。这将配置、编译和安装sshpass程序。
./configure make sudo make install
完成后,您可以使用-V标志运行sshpass以查看安装是否已完成并查看当前安装的版本。
$ sshpass -V sshpass 1.05 (C) 2006-2011 Lingnu Open Source Consulting Ltd. This program is free software, and can be distributed under the terms of the GPL See the COPYING file for more information.
我应该注意到,即使通过Ansible,依赖sshpass与服务器交互也是一种糟糕的安全做法。这是因为您将把ssh凭证放入命令行,甚至放入您的代码库中。