Odpowiedzi:
Dotyczy to OpenSSH od wersji 3.9.
Dla każdego nowego połączenia sshd uruchomi się ponownie, aby upewnić się, że wszystkie randomizacje w czasie wykonywania są generowane ponownie dla każdego nowego połączenia. Aby sshd mógł się ponownie uruchomić, musi znać pełną ścieżkę do siebie.
Oto cytat z informacji o wersji 3.9:
- Spraw, aby sshd (8) uruchomił się ponownie po zaakceptowaniu nowego połączenia. Ten środek bezpieczeństwa zapewnia, że wszystkie randomizacje w czasie wykonywania są ponownie stosowane dla każdego połączenia, a nie raz, przez cały czas trwania procesu głównego. Obejmuje to mapowania mmap i malloc, adresowanie bibliotek współdzielonych, kolejność mapowania bibliotek współdzielonych, pliki cookie ProPolice i StackGhost w systemach obsługujących takie rzeczy
W każdym razie zwykle lepiej jest zrestartować usługę przy użyciu skryptu inicjującego (np. /etc/init.d/sshd restart
) Lub przy użyciu service sshd restart
. Jeśli nic więcej, pomoże ci to sprawdzić, czy usługa uruchomi się poprawnie po następnym restarcie ...
( oryginalna odpowiedź, teraz nieistotna: Domyślam się, że /usr/sbin
nie ma jej w $ PATH ).
Ma to na celu zapobieżenie iniekcji sshd
programu gdzieś w jednym z katalogów w twoim PATH
i nieumyślnym uruchomieniu go. Ten post z 2004 roku już opisuje ten problem.