我使用的是 Ubuntu 的 Transmission 的 GUI 版本。下载种子时,我使用相应的 ssh 密钥以用户服务器身份运行了以下脚本:
#!/bin/bash
cd "/home/server/Downloads"
find . -type f | while IFS= read filename; do
case "${filename,,*}" in
*.part) : ;; # Excludes *.part files from being moved
*.resume) : ;;
*.torrent) : ;;
*.trashinfo) : ;;
move.sh) : ;;
# Include
*document*) scp "$filename" "[email protected]:/users/imac/Documents/" ;;
# Else
*) echo "Don't know where to put $filename" ;;
esac
done
现在我正在使用 transmission-daemon,并且脚本不再作为服务器执行,因此,scp 不起作用,因为当尝试 ssh 到[电子邮件保护]它提示输入密码(该用户没有 ssh 密钥)。
我该如何解决这个问题?
答案1
如果您有“服务器”私有 ssh 密钥的读取权限,请使用-我使用 scp 修饰符,告诉它使用特定的私钥文件。
顺便说一句,这样写不是更短吗?
find /home/server/Downloads -type f -iname *document* -exec scp -i pathtokeyfile "{}" "[email protected]:/users/imac/Documents/" ;