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. rc_start() { # use rcexec here since daemon_flags may contain arguments with spaces ls -l /home/${daemon_user}/.ssh/config #${rcexec} "${daemon} ${daemon_flags_1}" && \ #${rcexec} "${daemon} ${daemon_flags_2}" } So my question is why was "/home/remoteuser" passed in 7.2 but is not, now? Is it autossh that is the problem? Thanks.