我想连接到远程主机并检查某个文件夹的 sha256sum:
ssh remote_host sha256sum /some_folder/* > /tmp/some_file.txt
输出是::No such file or directory
/tmp/some_file.txt
存在于远程主机中
任何建议或文件将不胜感激。
答案1
目前尚不清楚No such file or directory
指的是什么,但至少存在两个问题:
您的本地 shell 尝试扩展
/some_folder/*
本地。如果至少有一个匹配项,则结果可能包含服务器上不存在的路径。如果没有匹配,shell 可能会传递/some_folder/*
到ssh
字面意思;那么通配符将在服务器上扩展。即使存在本地匹配,它们也可能包含将在服务器上扩展(甚至执行!)的片段。您想
/some_folder/*
首先在本地进行扩展吗?你可能不知道。重定向 (
> /tmp/some_file.txt
) 由本地 shell 执行,并且路径是本地的。目前尚不清楚您希望这种情况发生在本地还是服务器上。
所以你可能想要两者之一:
ssh remote_host 'sha256sum /some_folder/*' > /tmp/some_file.txt # to local file
# or
ssh remote_host 'sha256sum /some_folder/* > /tmp/some_file.txt' # to remote file
比较我的这个答案。
答案2
这里重定向发生在本地计算机上。您需要将完整的命令发送到远程主机:
ssh remote_host "sha256sum /some_folder/* > /tmp/some_file.txt"