O autossh é redundante com o systemd?

5

Ao criar um túnel SSH reverso persistente, o autossh é útil em um sistema executando o systemd? Normalmente, o autossh é executado por um serviço com a opção -M definida como zero, o que desativa o monitoramento do link. Isto significa que o ssh tem que sair antes que o autossh o reinicie. Na página do manual:

Setting the monitor port to 0 turns the monitoring function off, and autossh will only restart ssh upon ssh's exit. For example, if you are using a recent version of OpenSSH, you may wish to explore using the ServerAliveInterval and ServerAliveCountMax options to have the SSH client exit if it finds itself no longer connected to the server. In many ways this may be a better solution than the monitoring port.

Parece que o próprio serviço systemd é capaz de fazer isso com um arquivo de serviço que contém estas opções:

Type=simple
Restart=always
RestartSec=10

Então, o autossh é redundante quando executado por um serviço systemd? Ou está fazendo outras coisas que ajudam a manter a conexão SSH?

Obrigado.

    
por Guy 13.02.2018 / 11:40

1 resposta

2

Como tentar ambos é relativamente fácil, teste a confiabilidade de ambas as abordagens e confirme por si mesmo.

Acho que você verá que autossh é mais adequado para o trabalho. autossh foi projetado para ser executado no primeiro plano , enquanto systemd foi projetado principalmente para serviços de segundo plano que não estão anexados a um TTY específico .

Além disso, autossh tem pelo menos um recurso específico para a tarefa:

Periodically (by default every 10 minutes), autossh attempts to pass traffic on the monitor forwarded port. If this fails, autossh will kill the child ssh process (if it is still running) and start a new one;

Portanto, autossh está fazendo mais do que manter um processo em execução, confirmando que a conexão ssh está realmente funcionando.

    
por 14.02.2018 / 15:57