如何通过Cygwin在Windows上安装sshpass?

18
在CygWin的包管理器窗口中,当我输入sshpass时没有任何结果。我尝试安装类似的软件包,如openssh等,希望其中一个包含sshpass,但没有成功。
4个回答

37

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用于提取,autoconfmakegcc用于构建。我假定读者已熟悉在Cygwin上安装软件包的方法。


@Andrew,请分享您的经验... 当我从Windows 命令提示符中使用sshpass时,我发现输出 丢失了。但是,在Cygwin终端中它可以正常工作。 - starfry
2
如果你想要在 Windows 命令提示符中使用 sshpass,那么 你可能会发现 cygnative 很有用 - starfry
1
我发现在cygwin中甚至没有安装sudo,但是我成功地在没有使用sudo的情况下运行了它.. :) - tplive
@tplive 你能详细说明一下你是如何做到的吗? - Palash Dange
1
我看到了这个链接:http://www.cygwin.com/packages/summary/sshpass.html。我刚刚运行了```C:\p2\cygpacks\setup-x86_64.exe -q -n -N -d -R c:\p2\cygwin64 -l c:\p2\cygpacks\cygwin64localpackages -s http://cygwin.mirror.constant.com -P sshpass```。它安装了sshpass。 - David Gleba

8

感谢matzeri的回复。我该如何在Windows上构建和安装?你能给我推荐一些教程吗? - Oliver Blue

7

这并不能直接回答“如何在Windows上安装sshpass”的问题,但如果你需要在Windows系统中ssh到一台机器时自动输入密码,你可以使用PuTTY的一部分——Plink,它可能更容易些。

plink your_username@yourhost -pw your_password

很棒的输入。我希望我早点知道这个。它有效。谢谢! - klodoma

0

Windows 10自带Linux子系统,您可以通过Windows商店安装喜欢的Linux版本。然后所有Linux命令都变得轻而易举。sshpass可以在子系统中轻松安装。WSL(Windows Subsystem for Linux)是未来。


1
当然可以,但是如果我已经在Windows上拥有一个可用的SSH客户端,我不应该需要启动(或设置,如果我没有安装)WSL来自动使用具有SSH的密码。 - Andrew Koster

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