Як зберегти з'єднання SSH живим?


12

Як я можу підтримувати SSH-з'єднання живим, не використовуючи його активно. Коли я використовую його, він працює чудово, але коли я не користуюсь ним кілька хвилин, він відключається. Коли я отримую електронний лист щоразу під час підключення, як я можу підтримувати сеанс SSH в живих?

Примітка. У моєму .ssh/configфайлі вгорі є

Host *
ServerAliveInterval 3

але це, здається, не працює.


Який ssh ​​клієнт? 3 занадто короткий, використовуйте інтервал 60. Ви також можете поставити це в / etc / ssh / ssh_config, якщо у вас є root-доступ.
Пантера

*повинні бути всі вони, чи не так?
NerdOfLinux

Я не думаю, що це працює з PuTTY
Panther

1
Перевірте наступну URL-адресу для інструкцій PuTTy a2hosting.com/kb/getting-started-guide/accessing-your-account/…
A. El-Ghareeb

Відповіді:


11

Вам потрібно вказати кількість спроб та інтервал відправки пакету на сервер. Ви можете помістити у .ssh/configфайл наступні рядки :

Host examplehost
    Hostname examplehost.com
    ServerAliveInterval 180
    ServerAliveCountMax 2

Це надсилатиме пакет на сервер кожні 180 секунд (3 хвилини), і він буде намагатися два рази, перш ніж він перерве з'єднання, не отримавши відповіді від клієнта.


2
Я повністю забув про те ServerAliveCountMax, що, ймовірно, і вирішило мою проблему.
NerdOfLinux

5

У операційних системах Linux і Apple Mac OS X ~/.ssh/configфайл дозволяє вказати безліч параметрів SSH, включаючи ті, що підтримують SSH-з'єднання. Для цього виконайте наступні дії:

  1. Використовуйте бажаний текстовий редактор, щоб відкрити ~/.ssh/configфайл на локальному комп'ютері. Примітка. Якщо .sshкаталог або конфігураційний файл не існують, створіть їх.

  2. Додайте наступні рядки до конфігураційного файлу. Значенням хосту може бути будь-яке ім’я; це просто мітка для інших налаштувань. Значення Hostname - це віддалений хост, до якого ви хочете отримати доступ; замініть example.com на ваше доменне ім’я. Замініть ім'я користувача на ваше власне ім’я користувача облікового запису хостингу:


    Host example
        Hostname example.com
        Port 7822
        User username
        ServerAliveInterval 240
        ServerAliveCountMax 2

При такій конфігурації клієнт SSH надсилає пакет серверу кожні 240 секунд (4 хвилини), щоб зберегти з'єднання живим. Якщо клієнт не отримує відповідь після двох спроб (як зазначено в налаштуваннях ServerAliveCountMax), він закриває з'єднання.

Для отримання детальної інформації про всі доступні настройки конфігурації SSH введіть man ssh_configу командному рядку.

  1. Збережіть зміни у конфігураційному файлі.

  2. Підключіться до свого облікового запису за допомогою SSH. Для цього просто введіть ssh example, де приклад представляє значення хосту, яке ви вказали на кроці 2.

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

Перегляньте наступну URL-адресу для отримання детальної інформації https://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive


5

Ви також можете додати ці аргументи в команду ssh, як так ...

ssh -o ServerAliveInterval=180 -o ServerAliveCountMax=2 $HOST
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.