Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Samsung, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 10378
  комментариев: 2684

Представлен проект Mosh, нацеленный на создание более совершенной альтернативы SSH


Кэйт Уэйнстейн (Keith Winstein) и группа разработчиков из Массачусетского Технологического Института (MIT) представили проект Mosh с реализацией клиент-серверного ПО для организации удаленного доступа, по назначению схожего с SSH и применяющего его средства аутентификации, но предназначенного для использования в мобильных сетях с неустойчивым или медленным соединением. Исходные тексты проекта доступны под лицензией GPLv3.

Mosh (Mobile Shell) выступает в роли надстройки над SSH, используя средства аутентификации последнего, но осуществляя обмен данными с использованием собственного протокола SSP (State Synchronization Protocol), реализованного поверх UDP с шифрованием AES-128. В отличие от SSH, который просто пересылает поток данных от сервера к клиенту и ожидает ответных данных, SSP основан на идее синхронизации состояний. И клиент и сервер хранят у себя текущее состояние экрана которое синхронизируется по запросу сторон. Этот подход позволяет легко устранить коренные недостатки SSH:

Операции редактирования командной строки на стороне клиента. При использовании SSH каждый печатаемый в командной строке символ отправляется серверу, который затем передает его обратно клиенту, который производит вывод на экран, в результате чего на медленном соединении терминал становится менее отзывчивым.

Mosh обновляет содержимое экрана локально, отправляя информацию об изменившемся состоянии экрана (бинарный diff) серверу в момент нажатия клавиши Enter, в ответ сервер отсылает клиенту свой бинарный diff, содержащий ответ команды (или часть ответа, если вывод длинный), который объединяется с текущим содержимым. Такая архитектура позволяет сделать работу с удаленным терминалом удобной даже в условиях очень плохого и медленного соединения. Причем это относится и к полноэкранным приложениям.
Прозрачное переключение между IP-адресами (роуминг). Каждые три секунды SSP-клиент посылает серверу heartbeat-сообщения с увеличенным номером последовательности. Каждый раз, когда сервер получает аутентичный пакет от клиента с номером последовательности выше предыдущего, IP-адрес его источника становится адресом назначения для исходящих пакетов сервера. Таким образом изменение адреса клиента никак не повлияет на текущую сессию и она останется открытой. Более того, используя heartbeat-сообщения клиент сможет вовремя уведомить пользователя о недоступности сервера (в отличие от SSH, пользуясь которым человек узнает о потере соединения только когда попробует напечатать команду) и не закроет сессию на время его отсутствия.
Ctrl+C в любой ситуации. Mosh регулирует скорость посылки diff-сообщений клиенту на основе текущей скорости соединения и никогда не заполнит сетевые буферы клиента. Поэтому, даже если пользователь случайно запросит вывод на экран файла длиной 100 Мб, комбинация Ctrl+C сработает мгновенно.

Еще одно достоинство Mosh заключается в простоте его установки. Сервер использует существующую SSH-инфраструктуру для аутентификации и непривилегированные порты для приема данных, поэтому если между машинами уже налажена SSH-связь, все что потребуется сделать, это просто установить на обе машины пакет mosh и использовать команду mosh вместо ssh. Если сервер не позволяет производить установку пакетов, то достаточно будет положить бинарный файл mosh-server в любой каталог (например, /home/user) и вызвать клиент mosh с опцией '--server=/home/user/mosh-server'.


Источник: opennet.ru

  16 мая 2012 459
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 9 и 16*:            


Хостеры (2465)
HostDB (35)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)




Отправить сообщение администратору

Сумма чисел 18 и 7*:


Яндекс цитирования
сообщить о неточности