Как увеличить таймаут winscp

Обновлено: 07.07.2024

В некоторых случаях может наблюдаться замедленная реакция системы Linux при попытке подключиться по SSH. Это может происходить как на этапе отправки логина, так и после ввода пароля. Для исправления ситуации есть несколько решений.

1. UseDNS

В основном, подключение по SSH происходит медленно из-за неудачных попыток разрешения имен в системе DNS.

Чтобы уменьшить время ожидания при входе, открываем на редактирование следующий файл:

И приводим ее к следующему виду:

* в конкретном примере мы сняли комментарий и заменили yes на no, чем отключили разрешение DNS-имен при каждой попытке подключения. Если на нашем Linux сервере не настроены DNS (или настроены неправильно), это решит проблему медленного SSH.
** если такой строчки нет, необходимо ее дописать.

Чтобы изменнения вступили в силу, перезагружаем сервис:

systemctl restart sshd || systemctl restart ssh

* или service sshd restart || service ssh restart

2. GSSAPIAuthentication

GSSAPI предоставляет API для различных вариантов аутентификации в системе. Однако, в большинстве случаем, используется стандартный метод PAM. Если отключить GSSAPI, это может значительно ускорить вход по SSH.

И приводим две строки к следующему виду:

GSSAPIAuthentication no
GSSAPICleanupCredentials yes

* в данном примере мы отключили аутентификацию с использованием GSS-API (общий программный интерфейс сервисов безопасности). Он может быть использован, например, для связки с Kerberos. Однако, чаще всего используется метод PAM и надобность в GSSAPIAuthentication отсутствует.

systemctl restart sshd || systemctl restart ssh

3. motd

В Linux Ubuntu при входе файл приветствия /etc/motd выполняет различные задачи, например, проверку обновлений, которая может замедлить вход. В этом случае торможение будет на этапе после ввода пароля.

Для отключения модуля приветствия, открываем на редактирование два файла:

Соединение через SSH постоянно сбрасывается (обрывается)

Раз вы читаете эту статью, то скорей всего столкнулись с такой проблемой, что ваши удаленные SSH сессии, которые открыты с помощью стандартных средств Linux, вроде ssh или sftp , или же через Putty , в случае работы с компьютера под управлением Windows, постоянно сбрасываются и обрываются. Хотя само интернет соединение на вашем компьютере с виду работает исправно, это не помогает от разрывов.

Описание

Основными причинами, по которым ваши подключения обрываются могут быть:

  • Очень плохое подключение к сети/интернету, потери пакетов и высокий пинг;
  • На некоторых серверах по умолчанию стоят настройки, которые обрывают SSH сессии в случае долго бездействия;
  • Некоторые модели роутеров обрывают соединения, если они долгое время не активны;
В данной статье мы рассмотрим 2 способа решения данной проблемы. Локальный (который вы можете использовать на своем ПК с которого подключаетесь к другим компьютерам) и Удаленный (который вы можете использовать, чтобы задать необходимые настройки на каком-либо сервере, к которому вы подключаетесь).

Локальный способ для Linux (ssh)

Для всех исходящих SSH сессий

Для этого открываем файл /etc/ssh/ ssh _config и в самый низ этого файла добавляем следующие строчки:

ServerAliveInterval 60 - Данный параметр определяет как часто ваш ПК с которого установлена SSH сессия (клиент) будет отправлять на сервер SSH к которому вы подключились пакет, говорящий "я живой". В нашем примере это будет происходить каждые 60 секунд.
ServerAliveCountMax 5 - Данный параметр определяет, сколько раз такой пакет "я живой" будет отправлен на сервер в том случае, когда от сервера не последовало ответа, прежде чем принудительно разорвать соединение. В нашем примере 5 раз.
С такими настройками сессия будет висеть 60 * 5 = 300 секунд, после чего автоматически оборвется (только в случае, когда сервер вам не отвечает 5 раз подряд).

После внесения этих изменений, к любому новому соединению через ssh или sftp должны применяться эти настройки.

Для выборочных исходящих SSH сессий

Если вы не хотите менять параметры для ssh через файл конфигурации, то существует способ указывать эти настройки только для определенных хостов, для этого вводим команду для соединения вот таким образом:

Локальный способ для Windows

Putty

На ОС Windows очень часто в качестве ssh клиента используется Putty. В данном клиенте также есть настройки, позволяющие избежать разрыва ssh сессий. Находятся они вот тут:

Connection -> Sending of null packets to keep session active -> Seconds between keepalives (0 to turn off)

Задаем значение, например 60 и пытаемся подключиться.


WinSCP

Эти же настройки есть и в программе WinSCP. Найти их можно следующим способом:


В начальном окне программы необходимо выбрать нужное соединение и нажать на кнопку "Редактировать", а затем на кнопку "Еще".


Если же вы пользуетесь каким-то другим клиентом, в котором нет подобных опций, тогда вам необходимо переходить к следующему пункту и изменить настройки на самом сервере, к которому вы подключаетесь.

Удаленный способ Linux & Windows

Если проблема с постоянным разрывом SSH сессий присутствует только на одном определенном сервере, то тогда можно в его конфигурации sshd сделать небольшие изменения, чтобы решить эту проблему. Для этого открываем файл /etc/ssh/ sshd _config и в самый низ конфигурации дописываем следующие настройки:

ClientAliveInterval 60 - Данный параметр определяет как часто сервер, к которому вы подключены, будет отправлять на ваш компьтер (клиент) пакет, говорящий "я живой". В нашем примере это будет происходить каждые 60 секунд.
ClientAliveCountMax 5 - Данный параметр определяет, сколько раз такой пакет "я живой" будет отправлен от сервера на ваш клиентский ПК, когда от вашего ПК не последовало ответа, прежде чем принудительно разорвать соединение. В нашем примере 5 раз.
С такими настройками сессия будет висеть 60 * 5 = 300 секунд, после чего автоматически оборвется (только в случае, когда клиент не отвечает 5 раз подряд).

После внесения изменений в конфиг, необходимо перезапустить службу sshd на сервере, сделать это можно следующей командой:

Читайте также: