¿Cómo puedo mantener vivo un túnel ssh usando launchd?

Me gustaría mantener vivo un túnel ssh. A continuación está mi file plist agente de lanzamiento, pero solo mantiene el túnel durante uno o dos días como máximo. 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> 

  • OSX Mail duplicó el mismo correo electrónico varias veces (67) veces en la bandeja de salida después de no poder enviar
  • Al mover el cursor con las inserciones del panel táctil "C"
  • ¿Cómo cambio la hoja de estilo global de Safari desde la command-line en OS X?
  • AppleScript: ¿muestra alerta o se reinicia cuando la aplicación finaliza / se bloquea?
  • Cambiar el nivel de zoom pnetworkingeterminado para nuevos documentos en Excel 2016 para Mac
  • AppleScript en OS X 10.10 para cambiar el tamaño de la window de Safari y tomar una captura de pantalla de esa window y repetir con varios tamaños
  • Problema de recuperación de Internet OSX
  • ¿Es posible leer iBooks sin un dispositivo con iOS?
  • ¿Hay alguna forma de manipular dinámicamente el dictionary de revisión ortográfica?
  • Ethernet 10/100 Mbps
  • ¿Cómo instalo el almacenamiento flash USB externo expulsado?
  • chsh no cambia $ SHELL
  • One Solution collect form web for “¿Cómo puedo mantener vivo un túnel ssh usando launchd?”

    Creo que debes agregar "ServerAliveCountMax". Como no lo tiene configurado, se establece de manera pnetworkingeterminada en 3. Intente configurarlo en algo superior a 3 y vea si revive algunos de sus problemas. En su caso, se desconectaría si el server no responde durante 180 segundos.

    De la página man de ssh:

      ServerAliveCountMax: Sets the number of server alive messages (see below) which may be sent without ssh(1) receiving any messages back from the server. If this threshold is reached while server alive messages are being sent, ssh will disconnect from the server, terminating the session. It is important to note that the use of server alive messages is very different from TCPKeepAlive (below). The server alive messages are sent through the encrypted channel and there‐ fore will not be spoofable. The TCP keepalive option enabled by TCPKeepAlive is spoofable. The server alive mechanism is valu‐ able when the client or server depend on knowing when a connec‐ tion has become inactive. The default value is 3. If, for example, ServerAliveInterval (see below) is set to 15 and ServerAliveCountMax is left at the default, if the server becomes unresponsive, ssh will disconnect after approximately 45 seconds. This option applies to protocol version 2 only. 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).