sshpass 运行命令失败:没有此文件或目录

sshpass 运行命令失败:没有此文件或目录

我正在尝试使用 sshpass 在虚拟机之间复制文件。但是当我运行以下命令时:

sshpass -p 'password' rsync --rsync-path="sudo rsync" "/home/myuser/anaconda/Anaconda2-4.3.0-Linux-x86_64.sh" "[email protected]":/opt

我得到输出:sshpass: Failed to run command: No such file or directory

我可以使用 user2 及其密码 ssh 到 destination.vm。

我知道 sshpass 安装在 /usr/bin/sshpass 并且位于路径上。

我仔细检查了要复制的文件夹是否存在。我还通过编辑 sudoers 文件成功设置了无密码 sudo。

我有点不知道还能做些什么来排除故障。你有什么建议吗?我还需要做些什么才能运行 sshpass 吗?

编辑:

感谢您的回复!我已按照建议在 destination.vm 上安装了 rsync,并使用以下命令对其进行了测试:

rsync -v -e ssh test.txt localhost:~

但是,当我尝试使用 sshpass 时,仍然看到相同的消息。我已在其他系统上成功使用此命令,但我不确定此命令有什么不同,导致其无法正常工作。

答案1

在 destination.vm 上安装 rsync

答案2

我遇到了同样的问题。通过从 .bashrc 中删除环境变量并直接将其添加到脚本中解决了该问题。

答案3

我遇到了同样的问题,但就我而言,Rsync 包未安装在源机器(而不是目标机器)中。

相关内容