Чому ssh не виявляє відключення?


1

Якщо я SSH перейду на віддалений хост на OS X, а потім закрию кришку та подорожую додому, відкриваючи кришку, OS X іноді досить швидко зазначає, що сталося відключення (із повідомленням "Розбита труба"), але часто ssh просто висить. Я думав додати параметри збереження TCP, однак, сторінка man відзначає:

За замовчуванням - "так" (для надсилання повідомлень про збереження TCP), і клієнт помітить, якщо мережа падає або віддалений хост помирає.

Чи можна щось зробити або перевірити? Чому це працює?


Як кажуть: Для танго потрібно два, тож не матер, якщо тримати сторону мака вгору та живу, оскільки інша сторона вниз, вся справа внизу.
Ruskes

Відповіді:



0

Якщо ви подорожуєте зі свого офісу до дому, ваш MacBook буде відключений від будь-якої мережі.

Навіть якби ssh надіслав збереження, сервер його не отримає (тому що ваш комп'ютер офлайн).

Найкраще, що ви можете зробити: вийдіть із сеансу ssh перед поїздкою, це принаймні уникне зависання ssh.


На головній сторінці зазначається, що "клієнт помітить, якщо мережа виходить з ладу" - навіть коли мережа створюється в режимі резервного копіювання (зазвичай це займає лише кілька секунд після відкриття кришки), вона все ще не помічає, що з'єднання недійсне.
Танатос

Можливо, це помітить, лише якщо працює термінал. У режимі сну клієнт може не виявити, що мережа вийшла з ладу.
lauhub

Я думаю, що він не помітить, коли кришка закрита, а ноутбук спить. Але як тільки кришка знову відкриється, і система знову заживе ... незабаром після того, як наступний TCP keepalive потрапить на дріт, ми повинні усвідомити, що з'єднання мертве, ні?
Танатос

Можливо, це помилка. Якщо ви подаєте звіт про помилку на bugreport.apple.com, вони вкажуть, чи це відома проблема чи ні.
lauhub
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.