Me gustaría mantener un túnel ssh vivo. Abajo está mi archivo plist del agente de lanzamiento, pero sólo mantiene el túnel durante un día o dos a lo sumo. Estoy usando OS X 10.10.3.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.my.ssh_tunnel</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/ssh</string>
<string>-R 0.0.0.0:22221:localhost:22</string>
<string>-NTC</string>
<string>-f</string>
<string>-o ExitOnForwardFailure=yes</string>
<string>-o ServerAliveInterval=60</string>
<string>user@user.server.com</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>