在CygWin的包管理器窗口中,当我输入sshpass时没有任何结果。我尝试安装类似的软件包,如openssh等,希望其中一个包含sshpass,但没有成功。
sshpass不作为Cygwin包提供。这意味着您需要从源代码构建和安装。要在Windows(Cygwin)上构建sshpass:
$ curl -LO http://downloads.sourceforge.net/sshpass/sshpass-1.06.tar.gz
$ md5sum sshpass-1.06.tar.gz
f59695e3b9761fb51be7d795819421f9
构建并安装到 /usr/local/bin
:
$ tar xvf sshpass-1.06.tar.gz
$ cd sshpass-1.06
$ ./configure
$ make
$ sudo make install
安装包含两个文件
/usr/local/bin/sshpass
/usr/local/share/man/man1/sshpass.1
您的Cygwin安装需要具备必需的工具:curl
用于下载,tar
用于提取,autoconf
、make
和gcc
用于构建。我假定读者已熟悉在Cygwin上安装软件包的方法。
sshpass在cygwin软件包中不可用。这意味着您需要从源代码构建和安装。
参考现有替代方案:https://www.cygwin.com/ml/cygwin/2015-02/msg00042.html
这并不能直接回答“如何在Windows上安装sshpass”的问题,但如果你需要在Windows系统中ssh到一台机器时自动输入密码,你可以使用PuTTY的一部分——Plink,它可能更容易些。
plink your_username@yourhost -pw your_password
Windows 10自带Linux子系统,您可以通过Windows商店安装喜欢的Linux版本。然后所有Linux命令都变得轻而易举。sshpass可以在子系统中轻松安装。WSL(Windows Subsystem for Linux)是未来。
sshpass
时,我发现输出 丢失了。但是,在Cygwin终端中它可以正常工作。 - starfrysshpass
,那么 你可能会发现cygnative
很有用。 - starfrysudo
,但是我成功地在没有使用sudo
的情况下运行了它.. :) - tplive