我必须在系统启动时设置端口转发,并在我的 rc.local 中进行配置
runuser -l phpAdmin -c 'ssh -f -N -L 9904:localhost:3306 phpAdmin@<server>'
当执行rc.local时,是否以root身份执行?
答案1
rc.local 以 root 用户身份执行,但这可能不是启动此类隧道的地方,因为如果您遇到任何问题(即使是临时网络问题),您的隧道将永远停止。更好的解决方案是将其放入 /etc/inittab 文件中,以便您的 init 进程可以在正确的运行级别运行它,并在崩溃时重新启动它。如果您从 inittab 运行它,请从 ssh 调用中删除“-f”标志,否则 init 将无法检测到 ssh 失败。