Rlogin
Jump to navigation
Jump to search
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:». (Сервер закроет соединение, если не получит пароль в течение некоторого времени). Далее сервер отправляет запрос, спрашивая размер окна терминала.
- После этого начинается собственно терминальная сессия. Передача осуществляется побайтово, на каждый байт сервер отвечает эхо-откликом. Чтобы не перегружать сеть, используется алгоритм Нагла для отправки нескольких байт в одном пакете.
Безопасность[edit | edit source]
Поскольку пароль пользователя передается открытым текстом и может быть перехвачен снифферами, исходная реализация rlogin небезопасна. Новые версии rlogin используют шифрование для безопасности (протокол Kerberos).