Isso é específico para o OpenSSH da versão 3.9 em diante.
Para cada nova conexão, o sshd será executado novamente, para garantir que todas as aleatorizações em tempo de execução sejam geradas novamente para cada nova conexão. Para que o sshd seja executado novamente, ele precisa conhecer o caminho completo para si mesmo.
Aqui está uma citação das notas de lançamento do 3.9:
- Make sshd(8) re-execute itself on accepting a new connection. This security measure ensures that all execute-time randomisations are reapplied for each connection rather than once, for the master process' lifetime. This includes mmap and malloc mappings, shared library addressing, shared library mapping order, ProPolice and StackGhost cookies on systems that support such things
Em qualquer caso, geralmente é melhor reiniciar um serviço usando seu script de inicialização (por exemplo, /etc/init.d/sshd restart
) ou usando service sshd restart
. Se nada mais, irá ajudá-lo a verificar se o serviço será iniciado corretamente após a próxima reinicialização ...
( resposta original, agora irrelevante: meu primeiro palpite seria de que /usr/sbin
não está em seu $ PATH. )