LINUX.ORG.RU

Подключение по ssh запрос : Requesting no-more-session


0

1

Здравствуйте. Если при подключении по ssh протоколу через консоль linux (ubuntu 12.04, стандартная утилита ssh), сделать подробный вывод опцией -v, то в числе прочего можно увидеть строку: debug1: Requesting no-more-sessions@openssh.com Что это за запрос, для чего он выполняется, есть ли в нем необходимость, можно ли его отключить? Объясните, кто знает.

★★★★★
Ответ на: комментарий от anonymous

Я проходил по этой ссылке. Там очень коротко и сухо, тем более на английском. Если не затруднит, опишите пожалуйста подробней механизм(Куда именно идет запрос, его необходимость и др. см. выше).

rumgot ★★★★★
() автор топика
Ответ на: комментарий от rumgot

В 2 словах: вместо создания новой TCP-сессии при втором подключении по ssh к тому же серверу, используется существующая TCP-сессия от первого подключения.
Это можно проверить тем же netstat.

getup
()
Ответ на: комментарий от getup

За перевод спасибо, тут понял. А что все-таки значит строка-сообщение от утилиты ssh: «debug1: Requesting no-more-sessions@openssh.com»

rumgot ★★★★★
() автор топика
Ответ на: комментарий от rumgot
2.2. connection: disallow additional sessions extension
      "no-more-sessions@openssh.com"
 
 Most SSH connections will only ever request a single session, but a
 attacker may abuse a running ssh client to surreptitiously open
 additional sessions under their control. OpenSSH provides a global
 request "no-more-sessions@openssh.com" to mitigate this attack.
 
 When an OpenSSH client expects that it will never open another session
 (i.e. it has been started with connection multiplexing disabled), it
 will send the following global request:
 
     byte        SSH_MSG_GLOBAL_REQUEST
     string      "no-more-sessions@openssh.com"
     char        want-reply
 
 On receipt of such a message, an OpenSSH server will refuse to open
 future channels of type "session" and instead immediately abort the 
 connection.
 
 Note that this is not a general defence against compromised clients
 (that is impossible), but it thwarts a simple attack.
 
 NB. due to certain broken SSH implementations aborting upon receipt
 of this message, the no-more-sessions request is only sent to OpenSSH
 servers (identified by banner). Other SSH implementations may be
 whitelisted to receive this message upon request.

serverloop.c (openssh-6.2p2.tar.gz)

109 static int no_more_sessions = 0; /* Disallow further sessions. */


 1034     debug("input_session_request");
 1035     packet_check_eom();
 1036 
 1037     if (no_more_sessions) {
 1038         packet_disconnect("Possible attack: attempt to open a session "
 1039             "after additional sessions disabled");
 1040     }


1165     } else if (strcmp(rtype, "no-more-sessions@openssh.com") == 0) {
 1166         no_more_sessions = 1;
 1167         success = 1;
 1168     }
Для первого соединения no_more_sessions=0. Когда оно устанавливается, no_more_sessions=1. Для последующих, если клиент передал эту строку (no-more-sessions@openssh.com) в первом соединении,сервер откажет в подключении.

getup
()
Последнее исправление: getup (всего исправлений: 1)
Ответ на: комментарий от getup

Спасибо за ответы, понято.

rumgot ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.