sshpass无法正常工作

Say*_*yuj 5 ssh ubuntu scp sshpass

我正在使用sshpass在ubuntu 11.04上传递非交互密码.

当我使用sshpass与scp

sshpass -p '123' scp sayuj@192.168.1.51:/home/sayuj/examples.desktop ~/Desktop/
Run Code Online (Sandbox Code Playgroud)

它工作正常

但它不适用于ssh

sshpass -p '123' ssh sayuj@192.168.1.51
Run Code Online (Sandbox Code Playgroud)

可能是什么问题,我该如何解决?

Ale*_*oya 14

也许你需要-o stricthostkeychecking=no这样

sshpass -p $PASSWORD ssh -o stricthostkeychecking=no user@domain "command1;command2;"
Run Code Online (Sandbox Code Playgroud)


mmm*_*mmm 7

新的sshpass版本1.05适用于最新的ssh客户端.它包含在Ubuntu 12.04 Precise Pangolin中.

对于较旧的Ubuntu(或其他Linux发行版),您可以从以下位置获取源代码:

http://sourceforge.net/projects/sshpass/files/sshpass/1.05/
Run Code Online (Sandbox Code Playgroud)

解释:

tar xvzf sshpass-1.05.tar.gz
Run Code Online (Sandbox Code Playgroud)

建立:

cd sshpass-1.05
./configure
make
Run Code Online (Sandbox Code Playgroud)

并使用创建的二进制sshpass.


小智 2

我找到了一个解决方案:

问题是新版本的ssh客户端仍然和旧版本的一样sshpass(从2008年开始没有改变)。

你可以在这里找到补丁

sshpass来源

您所需要的只是修补源代码(只需添加 1 行和 1 个小更改)、编译和安装(不要忘记之前删除软件包)。