Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jun 2018 11:27:19 -0400
From:      "James B. Byrne" <>
Subject:   FreeBSD-11.1p10 and autossh
Message-ID:  <>

Next in thread | Raw E-Mail | Index | Archive | Help
I cannot seem to configure autossh to work from anything other than
the command line, which defeats the purpose. I would like it to
automatically start when the system boots but I have been unsuccessful
in all my attempts to date. I have tried adding this in rc.conf:

autossh -M0 -f -i /root/.ssh/id_ed25519 -L 143:localhost:143

But there is no evidence that this even gets executed.  In any case it
is not running after a restart and no error messages are logged.

I created a primitive rd.d script which runs but which does not
establish a link between the systems.  ps reports that autossh is
running and that it is the parent of a process pid.  But that pid does
not exist and there is nothing logged anywhere that I can find to show
that it ever did.

The options that I pass from rc.conf to the rc.d/autossh script are:

autossh_enable="YES"              # enable autossh
autossh_flags='-M0 -f \
  -i "/root/.ssh/id_rsa" \
  -o "ServerAliveInterval 30" \
  -o "ServerAliveCountMax 3" \
  -L "143:localhost:143" \
  -N \

This starts autossh as shown below:

 ps -auxw | grep ssh
root      2971  0.0  0.0   8332   1640  -  SsJ  10:52   0:00.00
autossh: parent of 33977 (8) (autossh)
root     13736  0.0  0.1  57812   4856  -  SsJ  10:52   0:00.00
root     32028  0.0  0.1  85228   5620  -  SsJ  10:52   0:00.02 sshd:
root@pts/1 (sshd)
root     34983  0.0  0.0  14828   1804  1  S+J  10:52   0:00.00 grep
--color ssh

But there is no connection to the remote host.  If I run autossh from
the command line with the same options then I see this:

autossh -M0 -f   -i "/root/.ssh/id_rsa"   -o "ServerAliveInterval 30" 
 -o "ServerAliveCountMax 3"   -L "143:localhost:143"   -N     

ps -auxw | grep ssh
. . .
root     53110  0.0  0.0   8332   1700  -  IsJ  10:56   0:00.00
autossh: parent of 53777 (1) (autossh)
root     53777  0.0  0.1  24580   4380  -  SJ   10:56   0:00.03
/usr/bin/ssh -i /root/.ssh/id_rsa -o ServerAliveInterval 30 -o Serv
. . .

The rc.d script is very basic and contains this:

source /etc/rc.subr


load_rc_config $name

: ${autossh_enable:="NO"}
: ${autossh_pidfile:="/var/run/"}
: ${autossh_procname:="/usr/local/bin/autossh"}



autossh_start() {
	AUTOSSH_PIDFILE=${autossh_pidfile} ${autossh_procname} ${autossh_flags}
autossh_stop() {
	kill -9 "$(cat ${AUTOSSH_PIDFILE})";
run_rc_command "$1"

But this does not work as I expect either.  fROM THE CLI 'service
autossh start' runs autossh but autossh does not establish an ssh
connection to the target. The pid autossh claims to be the parent of
does not exist when I search for it using ps.  Despite the debugging
and logging settings nothing appears in the autossh logfile.  There is
nothing in /var/log/auth.log on the target host to indicate that an
ssh connection is even attempted.

This is more of an annoyance than anything else but I am mystified
that something as basic as this just will not run as I expect.  Why
does autossh work as expected when started from the command line but
not otherwise??

***          e-Mail is NOT a SECURE channel          ***
        Do NOT transmit sensitive data via e-Mail
 Do NOT open attachments nor follow links sent by e-Mail

James B. Byrne      
Harte & Lyne Limited
9 Brockley Drive              vox: +1 905 561 1241
Hamilton, Ontario             fax: +1 905 561 0757
Canada  L8E 3C3

Want to link to this message? Use this URL: <>