Linux

sshpass 執行命令失敗:沒有這樣的文件或目錄

  • April 27, 2021

我正在嘗試使用 sshpass 在虛擬機之間複製文件。但是,當我執行命令時:

sshpass -p 'password' rsync --rsync-path="sudo rsync" "/home/myuser/anaconda/Anaconda2-4.3.0-Linux-x86_64.sh" "user2@destination.vm":/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 時,我仍然看到相同的消息。我已經在另一個系統上成功使用了這個命令,但我不確定這個阻止命令工作的不同之處。

在destination.vm 上安裝rsync

我有同樣的問題。通過從 .bashrc 中刪除環境變數並將它們直接添加到腳本中解決了該問題。

引用自:https://serverfault.com/questions/837564