Состоялся (http://mailman.mit.edu/pipermail/mosh-users/2017-March/00034...) выпуск проекта Mosh 1.3 (https://mosh.org/) (mobile shell), в рамках которого развивается система для организации удалённого доступа к терминалу, которая может применяться в качестве замены SSH. Исходные тексты проекта распространяются (https://github.com/mobile-shell/mosh) под лицензией GPLv3.Из ключевых отличий Mosh можно отметить поддержку роуминга (смена IP-адреса без разрыва сеанса), возможность продолжения работы после обрыва соединения, мгновенное реагирование на нажатие Ctrl+C и выполнения операций локального редактирования командной строки (вместо отправки сведений о каждом нажатии на сервер, операции редактирования строки производятся на стороне клиента). Данные особенности позволяют существенно повысить комфорт работы через мобильные, низкоскоростные или некачественные каналы связи.
Аутенитификация осуществляется с использованием штатных механизмов SSH, обмен данными в рамках установленного шифрованного канала связи осуществляется при помощи собственного протокола, работающего поверх UDP и использующего для шифрования алгоритм AES-128 (после аутентификации, от имени клиента запускается сервер Mosh (не требует прав root), клиенту в ответ передаётся закрытый ключ и SSH-соединение завершается). Применение UDP и привязка канала связи к ключу шифрования, позволяет оперативно перестраиваться на использование новых IP-адресов, на длительное время прерывать сеанс (например, сеанс не будет разорван после возврата ноутбука из спящего режима) и подстраивать интенсивность обновления содержимого экрана к качеству линка.
Локальное редактирование реализовано благодаря синхронному хранению состояния экрана одновременно как на сервере, так и на стороне клиента. Периодически, при возникновении событий на стороне клиента или сервера (например, выведена новая информация на сервере или нажата клавиша Enter на клиенте), состояния синхронизируются через отправку информации об изменившихся данных. Обновление состояния происходит не в ответ на каждое событие на сервере, а с определённой частотой, которая выбирается в зависимости от пропускной способности канала связи. Если качество линии связи плохое, то данные обновляются реже (изменения накапливаются).В новом выпуске обеспечено формирование бинарных сборок для macOS, помимо сборок для Linux, Android, Chrome OS, Solaris, iOS, FreeBSD, OpenBSD, NetBSD и Windows. Осуществлён переход на семантическое версионирование (Major.Minor.Patch). Добавлена опция "--no-ssh-pty" для совместимости с SSH-сервером Dropbear. Расширено число платформ, сборки для которых тестируются в системе непрерывной интеграции. Решены проблемы при работе во FreeBSD 11. Добавлена поддержка системы изоляции pledge() для OpenBSD.
URL: http://mailman.mit.edu/pipermail/mosh-users/2017-March/00034...
Новость: https://www.opennet.ru/opennews/art.shtml?num=46328
Звучит здорово, но использовать всё равно не буду.
Во-первых лень компилировать, а в штатном репозитории этой штуки нет.
Во-вторых стрёмно. И это при том, что я не админ и паранойей тоже не страдаю.
В-третьих нахрена менять то что и так работает?
В штатном репозитории чего нет mosh'а?apt-cache policy mosh
mosh:
Installed: 1.3.0-1
Candidate: 1.3.0-1Про остальные основные дистрибутивы тоже видно, что есть. https://mosh.org/#getting
Для чего это его нет?А что бы ответить на твой вопрос «Зачем mosh?» стоит почитать разницу между ним и ssh. На нестабильных каналах mosh гораздо удобней.
Хех, честно скажу -- я даже не проверял:)
Думал, что это что-то новенькое.
> Хех, честно скажу -- я даже не проверял:)
> Думал, что это что-то новенькое.Пять лет продукту.
Давно во всех репозиториях есть.
Рекомендую почитать, как минимум, о нем. Штука очень полезная и удобная во многих случаях. Ни в коем случае не замена ssh'у полная(нет проброски портов и прочего), но для удаленного доступа к серверу чертовски удобно.
"во всех репозиториях" для домохозяек?
В центос7 нет. :(По описанию крутяцкая вещь, но ставить левак на сервер не хочется (из epel тоже).
Там даже ставить не надо - достаточно в хомяк бинарничек положить.
Стесняюсь спросить а чем вам пакеты из EPEL не устраивают?
Центос это что? Дистриб мамкиных какиров? Ну извините, мамкиным какерам может не завезли. В серверных дистрибутивах все есть.
Centos - это как раз и есть самый серверный дистрибутив (для тех кто на бронепоезде).
Дрянь ваш центос. Там половины используемого мной софта нет в репах "из коробки". А тот, который на Убунтах ставится из ппа, под Центос вообще не найти. Совсем, Карл! Я там попробовал поставить LXDE. Казалось бы, не редкость. Но куда там.
Ещё и все действия завязаны на sysctl. Можно и руками по-старому, но оно всё равно этот цтл подтянет.
Короче кастрированная вещь-в-себе. Лучше уж Дебиан, если хочется стабильности и секурности.
+1. Экосистема вокруг дебиана/убунты вне конкуренции.
А где можно на эти серверы посмотреть? Или опять всё в 10/8?
А что у тебя за экзотический дистрибутив?
держи нас в курсе того что ты планируешь или не планируешь использовать, это интересует всю планету, мы за тебя переживаем.
> В-третьих нахрена менять то что и так работает?это нужно, когда используешь медленные каналы связи, и не хочешь, чтобы отклик по ssh сильно тормозил
само название MObile SHell не то, что намекает, а просто кричит
>> В-третьих нахрена менять то что и так работает?
> это нужно, когда используешь медленные каналы связи, и не хочешь, чтобы отклик
> по ssh сильно тормозил
> само название MObile SHell не то, что намекает, а просто кричит35 мегабит мобильного интернета — это медленный канал? Вконец зажрались, ей-богу. Этот бы MOSH лет 15 назад, когда порой приходилось модемом по PSTN сервера чинить. Но сейчас-то зачем?
Отписывайся почаще в новостях, а то не знаешь иногда, обращать внимание на продукт или нет. А так понятно сразу - проходим мимо. Спасибо!
# eix net-misc/mosh
* net-misc/mosh
Доступные версии: 1.2.6 ~1.3.0 **9999 {+client examples +mosh-hardening +server ufw +utempter}
Домашняя страница: http://mosh.mit.edu
Описание: Mobile shell that supports roaming and intelligent local echoвсё есть.
Адрес на MIT, а лицензия нет - GPL!
и?
> в штатном репозитории этой штуки нетНе знаю по поводу свеженькой 1.3, но вот что касается версии 1.2... В Centos6 в EPEL есть, в Debian Wheezy есть... Что у Вас за дистрибутив такой, что в нём до сих пор нет?
> Не знаю по поводу свеженькой 1.3,https://packages.debian.org/src:mosh
--Где это на епелях-шляпапроектах, не знаю. Ну, кроме https://duckduckgo.com/?q=mosh+rpm всяческих rpm[#файнд]ов, "независимых"...
> В Centos6 в EPEL есть, в Debian Wheezy есть...
На филке пошарь, там должно быть этот mosh или на рутрекере с таблэткой выложат!
Филка жива еще что ли?
Как всегда, врёшь, почти везде он есть:
> Во-первых лень компилировать,В основных дистрах есть
Требует открывать кучу портов для работы как во времена FTP.
Проблемы с разгрузкой CPU решили?
> открывать кучу портов ... как ... FTPэто просто неправда
nf_conntrack_ftp точно существовал и работал в 2007 (возможно и раньше, но я не застал)
Возможно явное указание порта избавит от "открывать кучу портов", типа так:
mosh -p 1234Я не проверял, но в доке такое есть.
Я про серверную сторону
> Я про серверную сторонуТак сервер mosh и открывает тот порт, к-й клиент mosh запрашивает через ssh.
Если клиент порт не указывает, то открывается из диапазона 60000-61000.Ты просто не знаешь, как мош работает.
> Ты просто не знаешь, как мош работает.Я про mosh без SSH глупец))
>> Я про серверную сторону
> Так сервер mosh и открывает тот порт, к-й клиент mosh запрашивает через
> ssh.
> Если клиент порт не указывает, то открывается из диапазона 60000-61000.
> Ты просто не знаешь, как мош работает.mosh-server
> Если качество связи плохое, то данные обновляются реже (изменения накапливаются).Если отправить файл на 2ТБ нужно накопить 2ТБ ОЗУ или виртуальной памяти.
Нет.
> Если отправить файл на 2ТБ... то по gprs это будет передаваться пол года.
ну вроде как это клиент командной строки, не на вконтактпостеров рассчитано, видимо подразумевается что юзер должен вдуплять где он находится, оверчего попадает в инет и чего это может стОить и по времени и по бабуленциям соответственно
>> Если отправить файл на 2ТБ
> ... то по gprs это будет передаваться пол года.gprs алсо раньше часто рвался. Там и 100 Мб без докачки было не слить. Opera рулила ))
Good news
нет желаения переходить из-за единственного минуса- отсутствия прогрутки истории, жаль что протокол не даёт им это реализовать.
вот об этом я https://github.com/mobile-shell/mosh/issues/2
> вот об этом я https://github.com/mobile-shell/mosh/issues/2о, сильно. Судя по неспособности решить эту мега-проблему с 2011го года, действительно, можно даже не смотреть.
Синхронизация состояния терминала диффами и scrollback вообще не очень совместимые понятия. Как минимум, реализовать обе возможности вместе нетривиально, если вообще возможно
>> вот об этом я https://github.com/mobile-shell/mosh/issues/2
> о, сильно. Судя по неспособности решить эту мега-проблему с 2011го года, действительно,
> можно даже не смотреть.Просто надо использовать tmux и не выпендриваться.
> Просто надо использовать tmux и не выпендриваться.да я и screen с тем же примерно успехом использую.
Но его надо каждый раз отдельно запускать внутри ssh-сессии. Забыл впопыхах/ сессия схлопнулась - давайдасвиданья.С иксами, что характерно, та же самая фигня - если всегда помнить про xvnc (неожиданный подарок последних лет, раньше вообще не было вариантов), то ок, если вдруг забыл - один недолетевший до клиента пакет, и опаньки, прощай твои окошки.
ДВАДЦАТЬ ЛЕТ в windows, проклятой, нет этой проблемы в принципе (и окошки, ну надо ж, прокручиваются). ДЕСЯТЬ лет (2008-неR2,да?) как она научилась даже пробрасывать видеопоток в окне без фатальных последствий. А как мы когда-то ржали "посмотрите, посмотрите - у них графический драйвер в ядре!". Ди6илы, б..
А что минусите? Приходилось юзать rdp тот, работает стабильно, через дохлый туннель. После дисконнекта ничего не закрывается. А в линукс традиционно всё к сессии привязано, сразу все процессы завершаются если подохло. Да, рдп до какого-то времени мог только монопольно использовать комп, одна сессия. Вот такая многопользовательская система. Но сейчас это исправили.
I'd like to use mosh to comunicate with a spacecraft on the moon. https://github.com/mobile-shell/mosh/issues/871
лол
Оно на Perl что ли? Не вижу смысла. Ладно бы ещё на Rust написали, интересно было бы потыкать. А так, овчинка нестоит выделки.
Ты бы проспался, что ли. C++ там, какой еще к херам перл?
Зависимости глянул, увидел там perl. Ну, ладно.
Перл на столько шикарен, что каждый проект в знак уважения, ставит перл в зависимости.
> Перл на столько шикарен, что каждый проект в знак уважения, ставит перл
> в зависимости.они это делают для того, чтобы помнили, что был когда-то язык такой - пегл.
Когда я его последний раз щупал, там основной скрипт, которым это подделие и запускается, был на perl. И по зависимостям он тянул несколько перловых либ. Ну и самое главное, заставить это подделие работать просто установив нужное ПО у меня так и не вышло, вероятно из-за того, что ssh на сервере на не стандартном порту висит. И все рекомендации по запуску этого ПО в связке с ssh на нестандартном порту не работали. Эталонное не нужно. И о какой замене ssh идёт речь, если оно само юзает ssh для коннекта к серверу и запуска mosh на сервере по ssh? ssh без mosh нормально работает, а mosh без ssh не может. Это скрорее костыль к уже имеющемуся ssh, а не его альтернатива.
Странно, обновил сабж до 1.3, после чего он у меня успешно запустился с теми же параметрами, с которыми ранее запускаться не хотел. Что апдейт животворящий делает;)
> Оно на Perl что ли?На Perl всего-то 1 единственный скрипт. (Ок ладно +3 тестовых скрипта для сборки.)
А ещё лучше это посмотреть здесь: https://github.com/mobile-shell/mosh/search?l=perl
> алгоритм AES-128only? useless
>> алгоритм AES-128
> only? uselessА что, по-твоему, SSH использует?
>>> алгоритм AES-128
>> only? useless
> А что, по-твоему, SSH использует?-c none, конечно же!
>>> алгоритм AES-128
>> only? useless
> А что, по-твоему, SSH использует?chacha20-poly1305
в смысле, альтернатива ssh? она, насколько я понимаю, через ssh и работает, только как-то странно. я её всегда для более быстрого отклика использовал, но даже не знал, что это альтернатива ssh
ssh используется только для авторизации. mosh не работает через ssh, в отличии от ssh использующего tcp mosh исползует udp, но если ты этого не смог прочитать за все это время, то ты и не поймешь что это я за буквы пишу.
> в отличии от ssh использующего tcp mosh исползует udpПравильно ли я понимаю, что если я набираю "rm -rf /*tmp", и жамкаю <Enter>, если звёзды сложатся таким образом, что "tmp" в этой строке потеряется по дороге (udp же), то на сервере выполнится "rm -rf /*"?
Какие средства защиты от подобной ситуации предлагает протокол Mosh?
State Synchronization Protocol на protocol buffers
> State Synchronization Protocol на protocol buffersСпасибо.
1.400p для iOS
Слишком дёшево? Не будешь пользоваться?
Есть же исходники, https://github.com/blinksh/blink, соберите себе бесплатно*, делов то.* При наличии мака за около штуки вечнозеленых и девакка за 100$.
Для "себя" дев-акк не нужен, можно девайс-айди прописать в тестовом списке аппа
> Для "себя" дев-акк не нужен, можно девайс-айди прописать в тестовом списке аппаа мак заменяется хакинтошем. Можно в vm.
Но ничего они не соберут, увы.
Интересно, когда уже что-то подобное запилят прямо в SSH, чтобы все интерактивные сессии сразу работали быстро и чётко (можно даже без роуминга). Конечно, для этого надо будет и протокол другой (не понятно, зачем им протобуф понадобился), и демультиплексер на сервере... Но ведь ничего сверхъестественного.
SSH уже сейчас может работать по SCPT (и работает) в качестве замены потокового TCP. Но ведь, SCTP и дейтаграммы может. Т.е. если такое аналогичное запилить в SSH, то можно реализоать в рамках одного транспортного протокола и единственного порта.
когда я трогал mosh пару лет назад, все устраивало, за одним небольшим, но фатальным недостатком: на экране, в консоли, иногда появлялись зоны с артефактами, или какая-то часть экрана просто не обновлялась. то ли udp пакет потерялся, то ли они пришли не в том порядке, хз. но если инструмент удаленного соединение к консоли не гарантирует 100% достоверность, то нафиг этот инструмент.
20 лет спустя после появления SSH сети стали настолько хреновыми, что он перестал нормально работать?
Спустя 20 лет после появления SSH стали нормой подключения с периодическими обрывами (мобилы) и приличными потерями пакетов (wifi). По уму надо это учитывать на уровне базовых сетевых протоколов, но это ж ещё 20 лет пройдёт, пока провайдеры в массе почешутся. Вот и костыли кругом.
> приличными потерями пакетовАга, расскажи нам, как хорошо от этого помогает использование UDP.
Или провайдеры начтут сами для себя придумывать RFC
> Ага, расскажи нам, как хорошо от этого помогает использование UDP.Хорошо помогает. Потерю пакета можно обнаружить на сеансовом/представительском уровне, и перепослать если нет подтверждения/запросить перепосылку, при этом не заморачиваясь на стандартные таймауты TCP с длинными залипонами, и вообще реализовывать логику работы при потерях какую вздумается ни на что не оборачиваясь.
> Спустя 20 лет после появления SSH стали нормой подключения с периодическими обрывами
> (мобилы) и приличными потерями пакетов (wifi).надо же, откровение какое.
Для опоздавших родиться: cправа от меня все еще стоит мой старый модем. dialup, да, over pstn. За двадцать лет до изобретения этих ваших триге придуман. Он, наверное, даже еще работает, позвонить, правда, некуда уже давно. Основной рабочий инструмент юникс-админа 90х годов, впрочем, я им неплохо пользовался аж до 2007го, когда накрылся халявный диалап.> По уму надо это учитывать на уровне базовых сетевых протоколов
базовый сетевой протокол tcp вполне в курсе про потери пакетов и таймауты. От него обычно отказываются как раз тогда, когда считают себя умнее, и свои попытки справиться с таймаутами и потерями более подходящими к случаю (судя по вышеотмеченным проблемам с отрисовкой, авторы mosh умнее себя посчитали совершенно необоснованно, но в целом подход имеет право на существование - правда, чаще им пользуются как раз когда задержки критичнее потерь)
А чтобы не рвалась интерактивная сессия, или хотя бы восстанавливалась после обрыва, как раз должна голова болеть у протокола более выского уровня.
К сожалению, развитие ssh остановилось примерно в том же самом 2000м по известным причинам. То что происходит с ним сейчас - увы, имитация бурной деятельности, скорее вредная, чем полезная.
С X11 все кончилось еще раньше (кто еще помнит про lbx? )
Прокрутку экрана не вернули? Неюзабильно же.
Подскажите:> Из ключевых отличий Mosh можно отметить поддержку роуминга (смена IP-адреса без разрыва сеанса)
В Tor Browser тоже такое есть? Заметил, что если находишься на одной странице, то раз в 20-30 минут IP меняется.
Отличная штука давно пользуюсь для серверов в штатах, до них пинг под 200. Вообще если у вас есть сервера на которые нужно заходить ручками, ну irssi например там стоит и пинг на них больше 120 то рекомендую.
Попробовал я этот mosh - мне понравилось!Особенно впечатляет восстановление сессии после [умышленного] разрыва соединения.
Нативный SSH при таких раскладах сразу же дохнет, а МОШ восстанавливается каждый раз (я несколько раз пробовал разрывать).Работает шустро, NCurses-псевдографика поддерживается (проверял на mc и другой проге).
Из вопросов: можно ли запустить Mosh-server в голом виде, без авторизации через sshd?
не является заменой так как без ssh не работает
>возможность продолжения работы после обрыва соединенияА что screen уже загнулся?
>>возможность продолжения работы после обрыва соединения
> А что screen уже загнулся?Не. TCP.