使用 systemd-cron 的反向 ssh 无法连接

使用 systemd-cron 的反向 ssh 无法连接

我有一个脚本,它使用 ssh、pk auth 检查我的主 rpi2 中的文件,如果文件存在,它会将其删除(再次 ssh pk auth)并使用以下命令打开反向 ssh:
ssh -fN -R xxxx:localhost:22 [email protected]

当从命令行运行脚本时,它运行良好,我得到了反向 shell。

从 systemd-cron 运行时,我无法启动该进程!检查ps -efwww|grep "ssh -f"|grep -v grep

crontab 很简单: */1 * * * * /home/me/my_r_ssh_script.sh

我确认:

  1. 在安装了 systemd-cron 的 arch arm 和 arch x86 上都会发生这种情况。
  2. 在安装了 crontab 的 ubuntu 上不会发生这种情况。

顺便说一句,我已经验证了脚本按照使用“me”的方式运行,而且确实如此,我确信它使用了正确的键,我也尝试使用-vvv记录g,我看到的是,与命令行不同,当我从cron运行时,远程似乎没有响应,或者也许由于某种原因答案没有到达客户端,不确定为什么。

任何帮助\提示都将不胜感激!

答案1

systemd-cron不是官方的 systemd 软件包。它似乎没有提供任何执行的 systemd 单元的详细配置,因此我建议您自己配置计时器,例如https://wiki.archlinux.org/index.php/Systemd/Timers#As_a_cron_replacement

然后您可以使用以下选项:杀戮模式类型、退出后剩余时间、PIDFile,..以防止该进程被终止。

相关内容