The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"SSH и разрыв соединения"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"SSH и разрыв соединения" 
Сообщение от San emailИскать по авторуВ закладки(??) on 14-Ноя-05, 13:58  (MSK)
Хочется воспользоваться уже изобретенными велосипедами, а не изобретать свои. Задача такая: есть сервер(RHEL 4.0), есть удаленные SSH-клиенты(Win32 Putty). Удаленные клиенты сидят на нестабильных каналах. Нужно чтобы в случае разрыва и последующего восстановления соединения SSH-сессии тоже бы восстанавливались. Такое вообще возможно?
Если нет, то как народ обходит подобную проблему?
Я слышал, что цитрикс умеет воссанавливаться в подобных случаях. Может быть на линукс сервер поставить цитрикс(он вообще есть под линух?)?
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "SSH и разрыв соединения" 
Сообщение от bladerunner Искать по авторуВ закладки(??) on 14-Ноя-05, 16:07  (MSK)
>Хочется воспользоваться уже изобретенными велосипедами, а не изобретать свои. Задача такая: есть
>сервер(RHEL 4.0), есть удаленные SSH-клиенты(Win32 Putty). Удаленные клиенты сидят на нестабильных
>каналах. Нужно чтобы в случае разрыва и последующего восстановления соединения SSH-сессии
>тоже бы восстанавливались. Такое вообще возможно?

Безусловно не только возможно, но так оно в жизни и происходит. Если сессия НЕ восстанавливается - то только по причине того, что либо маленький keep-alive на сервере, либо у клиента меняется IP-адрес.
Для более подробного исследования нужно включить полную отладку демона + смотреть что происходит через tcpdump+strace

>Если нет, то как народ обходит подобную проблему?
>Я слышал, что цитрикс умеет воссанавливаться в подобных случаях. Может быть на
>линукс сервер поставить цитрикс(он вообще есть под линух?)?

Цитрикс-сервера? Странный вопрос. Естественно нет.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "SSH и разрыв соединения" 
Сообщение от lavr emailИскать по авторуВ закладки on 14-Ноя-05, 16:18  (MSK)
>>Хочется воспользоваться уже изобретенными велосипедами, а не изобретать свои. Задача такая: есть
>>сервер(RHEL 4.0), есть удаленные SSH-клиенты(Win32 Putty). Удаленные клиенты сидят на нестабильных
>>каналах. Нужно чтобы в случае разрыва и последующего восстановления соединения SSH-сессии
>>тоже бы восстанавливались. Такое вообще возможно?
>
>Безусловно не только возможно, но так оно в жизни и происходит. Если

:) это каким таким каком?! :)

>сессия НЕ восстанавливается - то только по причине того, что либо
>маленький keep-alive на сервере, либо у клиента меняется IP-адрес.
>Для более подробного исследования нужно включить полную отладку демона + смотреть что
>происходит через tcpdump+strace
>
>>Если нет, то как народ обходит подобную проблему?

никак, это должно быть продумано в интерактивном софте.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "SSH и разрыв соединения" 
Сообщение от bladerunner Искать по авторуВ закладки(??) on 14-Ноя-05, 17:12  (MSK)

>>Безусловно не только возможно, но так оно в жизни и происходит. Если
>
>:) это каким таким каком?! :)
>


Хм... А что - при отрываниии клиента от сети рвутся все TCP-сессии? Естественно нет - они рвутся только по таймауту.. Восстановится соединение (с той же сетевой средой) ДО таймаута клиента или сервера - восстановится и сессия.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "SSH и разрыв соединения" 
Сообщение от mezantrop Искать по авторуВ закладки(??) on 14-Ноя-05, 17:18  (MSK)
>
>>>Безусловно не только возможно, но так оно в жизни и происходит. Если
>>
>>:) это каким таким каком?! :)
>>
>
>
>Хм... А что - при отрываниии клиента от сети рвутся все TCP-сессии?
>Естественно нет - они рвутся только по таймауту.. Восстановится соединение (с
>той же сетевой средой) ДО таймаута клиента или сервера - восстановится
>и сессия.

Раз здесь упоминался citrix, мне кажется, речь идет о достаточно больших таймаутах. Во всяком случае явно бОльших, чем таймаут на обрыв TCP-сессии.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "SSH и разрыв соединения" 
Сообщение от lavr emailИскать по авторуВ закладки on 14-Ноя-05, 17:20  (MSK)
>
>>>Безусловно не только возможно, но так оно в жизни и происходит. Если
>>
>>:) это каким таким каком?! :)
>>
>
>
>Хм... А что - при отрываниии клиента от сети рвутся все TCP-сессии?
>Естественно нет - они рвутся только по таймауту.. Восстановится соединение (с
>той же сетевой средой) ДО таймаута клиента или сервера - восстановится
>и сессия.

timeout как раз и служит для того чтобы НЕ ЗАКРЫВАТЬ сессию, если же
ей кирдык, то далее только новое соединение и новая сессия.

PS. Возможны вы неудачно пытались объяснить, sorry, я понял, а вот человек
могу заплутать...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "SSH и разрыв соединения" 
Сообщение от John Искать по авторуВ закладки(??) on 14-Ноя-05, 21:23  (MSK)
>
>>>Безусловно не только возможно, но так оно в жизни и происходит. Если
>>
>>:) это каким таким каком?! :)
>>
>
>
>Хм... А что - при отрываниии клиента от сети рвутся все TCP-сессии?
>Естественно нет - они рвутся только по таймауту.. Восстановится соединение (с
>той же сетевой средой) ДО таймаута клиента или сервера - восстановится
>и сессия.


Если речь идет о винде и диалапе, то да: как только соединение разорвалось - восстановить сессии не удастся...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "SSH и разрыв соединения" 
Сообщение от bladerunner Искать по авторуВ закладки(??) on 15-Ноя-05, 01:42  (MSK)

>
>Если речь идет о винде и диалапе, то да: как только соединение
>разорвалось - восстановить сессии не удастся...

В общем случае - да, т.к. падает сетевой интерфейс и все, что было к нему привязано :)
Вероятно, можно найти обходное решение и этой проблемы. Надо думать.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "SSH и разрыв соединения" 
Сообщение от San emailИскать по авторуВ закладки(??) on 14-Ноя-05, 17:23  (MSK)
>>Нужно чтобы в случае разрыва и последующего восстановления соединения SSH-сессии
>>тоже бы восстанавливались. Такое вообще возможно?
>
>Безусловно не только возможно, но так оно в жизни и происходит. Если
>сессия НЕ восстанавливается - то только по причине того, что либо
>маленький keep-alive на сервере, либо у клиента меняется IP-адрес.

А какой keep-alive по умолчанию?
В конфиге прописано:
---
#TCPKeepAlive yes
#ClientAliveInterval 0
#ClientAliveCountMax 3
---
SSHD из OpenSSH 4.1

>Для более подробного исследования нужно включить полную отладку демона + смотреть что
>происходит через tcpdump+strace

Это понятно.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "SSH и разрыв соединения" 
Сообщение от bladerunner Искать по авторуВ закладки(??) on 14-Ноя-05, 17:41  (MSK)
>А какой keep-alive по умолчанию?
>В конфиге прописано:
>---
>#TCPKeepAlive yes
>#ClientAliveInterval 0
>#ClientAliveCountMax 3

    TCPKeepAlive
             Specifies whether the system should send TCP keepalive messages to the other side.  If they are sent, death
             of the connection or crash of one of the machines will be properly noticed.  However, this means that con-
             nections will die if the route is down temporarily, and some people find it annoying.  On the other hand,
             if TCP keepalives are not sent, sessions may hang indefinitely on the server, leaving ``ghost'' users and
             consuming server resources.

             The default is ``yes'' (to send TCP keepalive messages), and the server will notice if the network goes
             down or the client host crashes.  This avoids infinitely hanging sessions.

             To disable TCP keepalive messages, the value should be set to ``no''.

Т.е. надо
TCPKeepAlive no

Также неплохо было бы выставить побольше keepalive в tcp/ip стэке системы до приемлимых для Вашей задачи величин. Ну а после этого надо игратся с клиентом - чтобы увеличить timeout у него.


Как я понимаю - ClientAliveInterval - это опция, отвечающая за тестирование текущей работоспособности клиентского ПО, а TCPKeepAlive - за тестирование непосредственно сетевого соединения.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "SSH и разрыв соединения" 
Сообщение от San emailИскать по авторуВ закладки(??) on 14-Ноя-05, 20:26  (MSK)
>Т.е. надо
>TCPKeepAlive no
>
>Также неплохо было бы выставить побольше keepalive в tcp/ip стэке системы до
>приемлимых для Вашей задачи величин. Ну а после этого надо игратся
>с клиентом - чтобы увеличить timeout у него.

Т.е. если выставить в SSH-демоне "TCPKeepAlive no", а в TCP стеке линуха по умолчанию 7200 секунд, то все равно сессия разорвется через 2 часа неактивности? Я правильно понимаю?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "SSH и разрыв соединения" 
Сообщение от bladerunner Искать по авторуВ закладки(??) on 15-Ноя-05, 01:43  (MSK)

>Т.е. если выставить в SSH-демоне "TCPKeepAlive no", а в TCP стеке линуха
>по умолчанию 7200 секунд, то все равно сессия разорвется через 2
>часа неактивности? Я правильно понимаю?

Через 2 часа после того, как клиент отпал. Да.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "SSH и разрыв соединения" 
Сообщение от nrvalex Искать по авторуВ закладки on 14-Ноя-05, 17:11  (MSK)
screen -x screen_name || screen -S screen_name  твоя_прога

man screen

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "SSH и разрыв соединения" 
Сообщение от San emailИскать по авторуВ закладки(??) on 14-Ноя-05, 17:25  (MSK)
>screen -x screen_name || screen -S screen_name  твоя_прога
>
>man screen

Это несколько не то.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "SSH и разрыв соединения" 
Сообщение от favourite emailИскать по авторуВ закладки(??) on 15-Ноя-05, 06:09  (MSK)
>>screen -x screen_name || screen -S screen_name  твоя_прога
>>
>>man screen
>
>Это несколько не то.

А чем screen не нравится? нельзя ли поконкретнее

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "SSH и разрыв соединения" 
Сообщение от San emailИскать по авторуВ закладки(??) on 15-Ноя-05, 20:21  (MSK)
>>>screen -x screen_name || screen -S screen_name  твоя_прога
>>>
>>>man screen
>>
>>Это несколько не то.
>
>А чем screen не нравится? нельзя ли поконкретнее

Непонятно как удаленные станции под виндами будут открывать новые screen-сессии и не только открывать, а в случае разрыва соединения и последующего его восстановления цепляться снова к своим сессиям.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "SSH и разрыв соединения" 
Сообщение от Doka Искать по авторуВ закладки(??) on 16-Ноя-05, 21:37  (MSK)
>>>>screen -x screen_name || screen -S screen_name  твоя_прога
>>>>
>>>>man screen
>>>
>>>Это несколько не то.
>>
>>А чем screen не нравится? нельзя ли поконкретнее
>
>Непонятно как удаленные станции под виндами будут открывать новые screen-сессии и не
>только открывать, а в случае разрыва соединения и последующего его восстановления
>цепляться снова к своим сессиям.
значить man screen не помог :-)

тогда могу посоветовать vncserver(linux) <-> TightVNC vncviewver (windows)
ну и vnc через ssh

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "SSH и разрыв соединения" 
Сообщение от San emailИскать по авторуВ закладки(??) on 17-Ноя-05, 14:54  (MSK)
>>>>>screen -x screen_name || screen -S screen_name  твоя_прога
>>>>>
>>>>>man screen
>>>>
>>>>Это несколько не то.
>>>
>>>А чем screen не нравится? нельзя ли поконкретнее
>>
>>Непонятно как удаленные станции под виндами будут открывать новые screen-сессии и не
>>только открывать, а в случае разрыва соединения и последующего его восстановления
>>цепляться снова к своим сессиям.
>значить man screen не помог :-)
>
>тогда могу посоветовать vncserver(linux) <-> TightVNC vncviewver (windows)
>ну и vnc через ssh

Ок. Если не получится с таймаутами - попробую VNC.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру