Rlogin

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

Rlogin (от англ. remote login) - программа, позволяющая войти в терминал на удалённом компьютере, а также протокол, по которому она работает. Появилась в BSD 4.2.

Спецификация протокола Rlogin описана в RFC 1282. Впрочем, на момент написания RFC протокол использовался уже несколько лет.

Синтаксис: rlogin [-L] [-7] [-8] [-e<символ>] [-l имя-пользователя] имя-хоста

  • -L отключает локальную обработку выдачи символа;
  • -7 усекает вводимые символы до 7 битов;
  • -8 не усекает вводимые символы до 7 битов;
  • -e указывает управляющий символ для строки, которая используется для отключения от удалённого компьютера.
  • -l позволяет задать имя пользователя на удалённом хосте, если оно отличается от локального.

Используется только одно TCP-соединение. После того как оно установлено, происходит следующее:

  • Клиент отправляет на сервер четыре строки: нулевой байт, имя пользователя на клиентском хосте, заканчивающееся нулевым байтом, имя пользователя на серверном хосте, заканчивающееся нулевым байтом, тип терминала пользователя, за которым следует слэш (/), затем скорость терминала, и ещё один нулевой байт.
  • Сервер в ответ посылает нулевой байт, затем запрашивает пароль пользователя. Обычно это просто строка «password:». (Сервер закроет соединение, если не получит пароль в течение некоторого времени). Далее сервер отправляет запрос, спрашивая размер окна терминала.
  • После этого начинается собственно терминальная сессия. Передача осуществляется побайтово, на каждый байт сервер отвечает эхо-откликом. Чтобы не перегружать сеть, используется алгоритм Нагла для отправки нескольких байт в одном пакете.

Безопасность[править | править код]

Поскольку пароль пользователя передается открытым текстом и может быть перехвачен снифферами, исходная реализация rlogin небезопасна. Новые версии rlogin используют шифрование для безопасности (протокол Kerberos).

Ссылки[править | править код]