![ssh 隧道 cron 作业未在系统启动时运行](https://linux22.com/image/894126/ssh%20%E9%9A%A7%E9%81%93%20cron%20%E4%BD%9C%E4%B8%9A%E6%9C%AA%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8%E6%97%B6%E8%BF%90%E8%A1%8C.png)
目标
我有一个 ubuntu 盒子,我用它来建立隧道连接到另一台服务器,我想确保我的系统每次重启时都会自动创建隧道。所以我尝试了以下方法
创建嵌入密码的 Shell 脚本以启用隧道
root@ubuntu1704:~# cat /root/sshtunnel.sh
#!/usr/bin/expect -f
spawn ssh -f -N [email protected] -L 0.0.0.0:8443:192.168.68.14:443
expect "password:"
send "kn&Z6*\r"
expect eof
什么有效
如果我手动运行它,那么它会正常工作并且我的隧道会顺利打开并且不会出现任何问题。
什么不起作用
我将其添加到 /var/spool/cron/crontabs/root
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.DJGY3i/crontab installed on Fri Jun 16 23:28:22 2017)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
@reboot /root/sshtunnel.sh
但它并没有真正发挥作用
我已尝试过
- 我尝试过将 cron 放在我的用户和 root 中,但都不起作用,现在我两者都有。我想我已经看到它随机工作,但无法确认
- 我启用了 cron 登录但 cron 日志不是空的 /var/log/cron.log