On Tue, Apr 25, 2023 at 08:32:35PM +0200, Antoine Jacoutot wrote: >On Tue, Apr 25, 2023 at 01:16:22PM -0500, rea...@catastrophe.net wrote: >> On Tue, Apr 25, 2023 at 08:09:46PM +0200, Antoine Jacoutot wrote: >> >On Tue, Apr 25, 2023 at 12:41:41PM -0500, rea...@catastrophe.net wrote: >> >> On Tue, Apr 25, 2023 at 12:03:51PM -0500, rea...@catastrophe.net wrote: >> >> >On Tue, Apr 25, 2023 at 10:45:21AM -0500, rea...@catastrophe.net wrote: >> >> >> [..] >> >> >> [ some bad paste ] >> >> > >> >> >Just a clarification: the rc script in /etc/rc.d/autossh actually looks >> >> >like >> >> > >> >> >#!/bin/ksh >> >> ># start autossh tunnel >> >> ># requires remoteuser user with $HOME/.ssh/config and keys >> >> > >> >> >daemon="/usr/local/bin/autossh" >> >> >daemon_flags_1="-M 0 -f -N tun-remoteA" >> >> >daemon_flags_2="-M 0 -f -N tun-remoteB" >> >> >daemon_user="remoteuser" >> >> > >> >> >. /etc/rc.d/rc.subr >> >> > >> >> >rc_reload=NO >> >> > >> >> >pexp="autossh:.*" >> >> > >> >> ># Child will not return a config parsing error to the parent. >> >> >rc_start() { >> >> > # use rcexec here since daemon_flags may contain arguments with >> >> > spaces >> >> > ${rcexec} "${daemon} ${daemon_flags_1}" && \ >> >> > ${rcexec} "${daemon} ${daemon_flags_2}" >> >> >} >> >> > >> >> >rc_cmd $1 >> >> >> >> >> >> So tracking this down a bit more, if I modify the rc script to just >> >> list remoteuser's ~/.ssh/config file issues arise >> > >> >That's not what the script does from what I can see. >> > >> >> rc_start() { >> >> # use rcexec here since daemon_flags may contain arguments with >> >> spaces >> >> ls -l ${daemon_user}/.ssh/config >> >> #${rcexec} "${daemon} ${daemon_flags_1}" && \ >> >> #${rcexec} "${daemon} ${daemon_flags_2}" >> >> } >> >> >> >> # rcctl -d start autossh >> >> doing _rc_parse_conf >> >> autossh_flags empty, using default >< >> >> doing rc_check >> >> autossh >> >> doing rc_start >> >> doing _rc_wait_for_start >> >> doing rc_check >> >> ls: remoteuser/.ssh/config: No such file or directory >> >> doing _rc_rm_runfile >> >> (failed) >> > >> >Well it's doing exactly what you are telling it to do. >> >Not sure I understand what you mean. >> >> You missed the second part where I said: >> >> But if I add prepend "/home" to ${daemon_user}, it works as expected. >> > >I didn't miss anything. > >"ls -l ${daemon_user}/.ssh/config" >Which translate to "ls remoteuser/.ssh/config". >That file does not exist (it's not an absolute path so if you run it from >anywhere other than /home, then it won't be found). > >When you append /home you are doing: >"ls -l /home/${daemon_user}/.ssh/config" which translate to an absolute path: >/home/remoteuser/.ssh/config.
Yes, that's exactly correct and I was showing that, somewhere along the way from 7.2 to 7.3, something changed to break the original rc script I posted and that which is quoted at the top of this mail.