使用 systemd 在 Linux 上使用 sshpass 进行 Rsync:'Host key verification failed.'
Rsync with sshpass on Linux using systemd: 'Host key verification failed.'
我正在尝试在 RaspberryPi 上使用 sshpass 设置 rsync 以连接到 Synology 驱动器以同步数据。
列出的命令:
sshpass -p 'password' rsync -avz -e 'ssh -p 22' \home\pi host@IP::home/example
效果很好,如果我 运行 在命令提示符下手动执行。当我使用包 'subprocess':
将它实现到 python 脚本时,它也很有效
import subprocess
subprocess.run([ sshpass -p 'password' rsync -avz -e 'ssh -p 22' \home\pi host@IP::home/example])
每当我想使用 systemctl 作为服务自动启动 python 脚本时,我都会收到以下错误:
Host key verification failed.
rsync error: received SIGINT, SIGTERM or SIGHUP (code 20) at rsync.c(644) [sender=3.1.3]
我想知道,在这种情况下,命令提示符和 systemd 之间有什么区别?
非常感谢您的提前帮助!我真的很感激每一个提示!!!
基连
粗鲁的方法是在你的 SSH 命令中添加 -o "StrictHostKeyChecking=no"
:
sshpass -p 'password' rsync -avz -e 'ssh -o "StrictHostKeyChecking=no" -p 22' \home\pi host@IP::home/example
我正在尝试在 RaspberryPi 上使用 sshpass 设置 rsync 以连接到 Synology 驱动器以同步数据。
列出的命令:
sshpass -p 'password' rsync -avz -e 'ssh -p 22' \home\pi host@IP::home/example
效果很好,如果我 运行 在命令提示符下手动执行。当我使用包 'subprocess':
将它实现到 python 脚本时,它也很有效import subprocess
subprocess.run([ sshpass -p 'password' rsync -avz -e 'ssh -p 22' \home\pi host@IP::home/example])
每当我想使用 systemctl 作为服务自动启动 python 脚本时,我都会收到以下错误:
Host key verification failed. rsync error: received SIGINT, SIGTERM or SIGHUP (code 20) at rsync.c(644) [sender=3.1.3]
我想知道,在这种情况下,命令提示符和 systemd 之间有什么区别?
非常感谢您的提前帮助!我真的很感激每一个提示!!! 基连
粗鲁的方法是在你的 SSH 命令中添加 -o "StrictHostKeyChecking=no"
:
sshpass -p 'password' rsync -avz -e 'ssh -o "StrictHostKeyChecking=no" -p 22' \home\pi host@IP::home/example