Comments 82
Использует порты 60000–61000 (тысячу портов)
Бредятина какая-то
Использует порты. Тысячи их! Внезапно!
Ну то что использует 60000-61000 порты еще не говорит о том, что все сразу поюзает, скорее говорит о том, что между 2мя компьютерами возможна 1000 коннектов. И скорее всего просто на случайный порт из данного диаппазона запускает сервер.
Mosh will log the user in via SSH, then start a connection on a UDP port between 60000 and 61000.
Не использует оно тысячу портов, не надо пургу гнать. Конкретно выше в цитате с домашней страницы написано про конкретно один порт в пределах от 60000 до 61000. Никаких тысяч.
p.s. От тысячи портов иной ПК или домашний инет и загнется запросто.
Не использует оно тысячу портов, не надо пургу гнать. Конкретно выше в цитате с домашней страницы написано про конкретно один порт в пределах от 60000 до 61000. Никаких тысяч.
p.s. От тысячи портов иной ПК или домашний инет и загнется запросто.
Он их использует так, как использует ftp в активном режиме. Кому-то будет затруднительно пробрасывать тысячу портов на компьютер за nat, например.
Не тысячу, а ОДИН ИЗ ТЫСЯЧИ — есть же разница.
Я о том, что в ftp можно использовать 10 портов, и, соответственно, пробрасывать 10 портов. А тут нужно пробрасывать всю тысячу, он же рандомом один из тысячи их выбирает.
Зачем пробрасывать UDP порты? Есть же UDP hole punching.
Есть, я не спорю. И Mosh можно указать порт, я так понял, что он выполняет панчинг. Но нужно каждый раз конкретный порт указывать.
Делят, видимо, пакеты на много кусочков, и гонят между случайными парами портов. Как тут не вспомнить старую шутку:
«Долгое время считалось, что бит — неделим. Однако советские ученые… !»
«Долгое время считалось, что бит — неделим. Однако советские ученые… !»
mc несколько косячно работает в mosh…
при нажатии ctrl-o не очищается экран от панелей. видать как то не так организована вобота с буферами экрана…
при нажатии ctrl-o не очищается экран от панелей. видать как то не так организована вобота с буферами экрана…
Проверил на Debian lenny, там всё корректно.
Ubuntu Oneiric — нормально.
у вас кстати какая верся? и собрано со slang?
mosh 1.1.3, ставил из ppa, как посмотреть, с чем собрано — не знаю.
нене, я имел ввиду версию mc
mc -V
mc -V
$ mc -V [23:50:46]
GNU Midnight Commander, версия 4.7.0.9
Виртуальная файловая система: tarfs, extfs, cpiofs, ftpfs, fish, undelfs
Со встроенным редактором
С установленной в системе библиотекой S-Lang с базой данных terminfo
C поддержкой внутренней командной оболочки
С поддержкой фоновых операций
С поддержкой мыши в xterm и консоли Linux
С поддержкой событий X11
С поддержкой интернационализации
С поддержкой многих кодировок
Data types: char 8 int 32 long 32 void * 32 off_t 64 ecs_char 8
GNU Midnight Commander, версия 4.7.0.9
Виртуальная файловая система: tarfs, extfs, cpiofs, ftpfs, fish, undelfs
Со встроенным редактором
С установленной в системе библиотекой S-Lang с базой данных terminfo
C поддержкой внутренней командной оболочки
С поддержкой фоновых операций
С поддержкой мыши в xterm и консоли Linux
С поддержкой событий X11
С поддержкой интернационализации
С поддержкой многих кодировок
Data types: char 8 int 32 long 32 void * 32 off_t 64 ecs_char 8
Это просто чудо!
про Ctrl-C подтверждаю работает исправно в отличии от простой сессии в ssh
для теста запускал
cat бооольшой_файл
для теста запускал
cat бооольшой_файл
про Ctrl-C подтверждаю работает исправно в отличии от простой сессии в ssh
для теста запускал
cat бооольшой_файл
для теста запускал
cat бооольшой_файл
Ну наконец-то в первый раз за почти 30 лет кто-то обратил внимание на очевидные недостатки ssh. Жаль, для винды пока нет клиента…
Трафик-то по прежнему шифрованный между клиентом и сервером, надеюсь?
<< и моментально видите его на экране
Можно подробнее? Как это согласуется с shadow?
Можно подробнее? Как это согласуется с shadow?
Блин вот бы клиент под андройд
Для Windows клиент есть? Что-то не нашел :(
Нет, к сожалению.
Скоро будет: github.com/keithw/mosh/issues/164. В целом все под cygwin уже работает (я проверил на собственном опыте), осталось только вмерджить все воедино в master и собрать дистрибутив с нужными dll-ками cygwin-а — тогда можно будет под windows запускать в нативном режиме.
Реально шустро. Nice.
Только я познал дзен набирания целых скриптов вслепую, пока ssh коннектится/логинится/тормозит — и тут на тебе.
В ssh есть режим master, запускаешь в начале дня скрипт который цепляется на все направления и поддерживает мастер сокеты, потом логин куда угодно происходит мгновенно. То есть вообще мгновенно.
С ним если один пайп висит, то сидешь и ждешь пока он по таймайту отвалится.
Не понял это как? расскажите как смоделировать ситуацию.
Я делаю так. Открываю мастер, логинюсь через него на сервер и вешаю шелл на некореектно смонтированной nfs шаре (намертво в UNINTERRUPTABLE_SLEEP), в это время через мастер запросто можно поднимать новые сессии.
Я делаю так. Открываю мастер, логинюсь через него на сервер и вешаю шелл на некореектно смонтированной nfs шаре (намертво в UNINTERRUPTABLE_SLEEP), в это время через мастер запросто можно поднимать новые сессии.
А если соединение подвиснет? Вот то-то же.
Открываем сейсию в одной владке, ходим бродим, открываем новый таб(к этому времени старая уже умерла но brocken pipe не написала) и пытаемся подключится к серверу. Все залипает до тех пор пока в старой вкладке не появится brocken pipe, и происходит новое подклчение.
В ИТ всегда так: только, думаешь, освоил что-то, научился хорошо это делать, другим пример показываешь, а тут — ОП! — и все это внезапно никому не нужно, придумали новые антиграбли со своим норовом :)
Ничего, небось для «вслепую» патч выпустят — если с ключиком --want-to-type-blind запустить, он будет случайную паузу делать перед отработкой нажатия клавиш.
Ничего, небось для «вслепую» патч выпустят — если с ключиком --want-to-type-blind запустить, он будет случайную паузу делать перед отработкой нажатия клавиш.
Реально оценил только Control+C.
Культура запускать все под screen на удаленной стороне, решает все проблемы класса сохранения сессии и т.п. Переконнект при смене ip может и нужен кому, но я такой необходимости не замечал (работаю с трансформера из разных сетей постоянно).
Фишка с мгновенным отображением печатаемого символа вообще непонятно вредная или полезная, я обычно набирая команды в слепую на тормозном соединении, обязательно дожидаюсь пока все символы отрисуются, прежде чем нажать ввод.
Культура запускать все под screen на удаленной стороне, решает все проблемы класса сохранения сессии и т.п. Переконнект при смене ip может и нужен кому, но я такой необходимости не замечал (работаю с трансформера из разных сетей постоянно).
Фишка с мгновенным отображением печатаемого символа вообще непонятно вредная или полезная, я обычно набирая команды в слепую на тормозном соединении, обязательно дожидаюсь пока все символы отрисуются, прежде чем нажать ввод.
Вот это меня тоже смущает… Хотя бы видишь, что команды проходят, и какие прошли, т.е. контролируешь ситуацию.
Мне реально приходилось работать через обычный ssh на очень глючном GPRS соединении. Реакция на нажатия клавиш была до пяти секунд. Я в эти моменты с трепетом вспоминал старый-добрый диалап…
Мне реально приходилось работать через обычный ssh на очень глючном GPRS соединении. Реакция на нажатия клавиш была до пяти секунд. Я в эти моменты с трепетом вспоминал старый-добрый диалап…
> Набираете символ, и моментально видите его на экране, так же, как и в локальном терминале.
А вывод команд тоже локально додумывается, без ожидания ответа от сервера?
А вывод команд тоже локально додумывается, без ожидания ответа от сервера?
И не только вывод команд, но и ввод:
user@puser:$ pi
PING ya.ru (87.250.250.203) 56(84) bytes of data.
64 bytes from www.yandex.ru (87.250.250.203): icmp_req=1 ttl=56 time=12.3 ms
64 bytes from www.yandex.ru (87.250.250.203): icmp_req=2 ttl=56 time=12.4 ms
64 bytes from www.yandex.ru (87.250.250.203): icmp_req=3 ttl=56 time=12.6 ms
ng goo
PING google.com (173.194.32.41) 56(84) bytes of data.
64 bytes from arn06s02-in-f9.1e100.net (173.194.32.41): icmp_req=1 ttl=46 time=52.3 ms
64 bytes from arn06s02-in-f9.1e100.net (173.194.32.41): icmp_req=2 ttl=47 time=52.2 ms
64 bytes from arn06s02-in-f9.1e100.net (173.194.32.41): icmp_req=3 ttl=47 time=52.2 ms
dok.ru
PING goodok.ru (213.189.197.83) 56(84) bytes of data.
64 bytes from axx83.distributed.zenon.net (213.189.197.83): icmp_req=2 ttl=119 time=19.9 ms
64 bytes from axx83.distributed.zenon.net (213.189.197.83): icmp_req=3 ttl=119 time=26.1 ms
64 bytes from axx83.distributed.zenon.net (213.189.197.83): icmp_req=4 ttl=119 time=41.4 ms
^C
--- goodok.ru ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3011ms
rtt min/avg/max/mdev = 19.995/29.207/41.448/9.018 ms
Так и не нашел, как залогиниться на нестандартном порту ssh, не 22.
Я так и не понял, это какой-то довесок к SSH или модификация SSH-сервера/клиента?
Пока не щупал, потому что все уже настроено и работает с SSH, не хочется ломать.
Пока не щупал, потому что все уже настроено и работает с SSH, не хочется ломать.
Реквестирую полноценную статью-инструкцию по установке на убунту.
Два абзаца — маловато.
Два абзаца — маловато.
facepalm.jpg
$ sudo add-apt-repository ppa:keithw/mosh
$ sudo apt-get update
$ sudo apt-get install mosh
В 12.04 он уже в официальных репах.
$ sudo add-apt-repository ppa:keithw/mosh
$ sudo apt-get update
$ sudo apt-get install mosh
В 12.04 он уже в официальных репах.
А скажите мне, когда при отсутствующем соединении он пишет
что нажимать то надо чтоб остановить процесс? Пробовал Ctrl-6, Ctrl-Shift-6, Ctrl-Up, Ctrl-Up-. — безрезультатно. Ну и Ctrl-Z, Ctrl-C тоже не работают.
Mosh: Connecting... (155 s without contact.) [To quit: Ctrl-^ .]
что нажимать то надо чтоб остановить процесс? Пробовал Ctrl-6, Ctrl-Shift-6, Ctrl-Up, Ctrl-Up-. — безрезультатно. Ну и Ctrl-Z, Ctrl-C тоже не работают.
Ctrl-^
?чорт. дубль два.
?
Ctrl-^ .
?
Что минусовать то сразу? Сами то пробовали?
На мой взгляд, вот эти простые действия:
позволяют однозначно узнать, что что mosh закроется, когда увидит на stdin последовательность (0x1e, '.'). При этом эти действия занимают несколько меньше времени, чем тот час, который вы провели в ожидании (бесполезного) ответа на комментарий на Хабре. У меня это отняло менее минуты, плюс ещё минута на поиск репозитория на официальном сайте mosh, ссылку на который привёл автор. Даже вот этот комментарий я дольше писал.
Ладно бы mosh был написан на Haskell, но синтаксис C++ всякий (тем более PHP-программист) способен распарсить.
ximaera@atlantis:0#530:~$ /tmp
cd /tmp
ximaera@atlantis:0#531:/tmp$ git clone https://github.com/keithw/mosh.git
Cloning into mosh...
remote: Counting objects: 3558, done.
remote: Compressing objects: 100% (1075/1075), done.
remote: Total 3558 (delta 2552), reused 3429 (delta 2446)
Receiving objects: 100% (3558/3558), 678.62 KiB | 520 KiB/s, done.
Resolving deltas: 100% (2552/2552), done.
ximaera@atlantis:0#532:/tmp$ grep -r Ctrl-\^ mosh
mosh/man/mosh.1:The escape sequence to shut down the connection is \fBCtrl-^ .\fP
mosh/src/frontend/stmclient.cc: if ( the_byte == '.' ) { /* Quit sequence is Ctrl-^ . */
mosh/src/frontend/stmclient.cc: /* Emulation sequence to type Ctrl-^ is Ctrl-^ ^ */
mosh/src/frontend/stmclient.cc: /* Ctrl-^ followed by anything other than . and ^ gets sent literally */
mosh/src/frontend/terminaloverlay.cc: swprintf( tmp, 128, L"mosh: Last contact %.0f seconds ago. [To quit: Ctrl-^ .]", (double)(now - last_word_from_server) / 1000.0 );
mosh/src/frontend/terminaloverlay.cc: swprintf( tmp, 128, L"mosh: %ls [To quit: Ctrl-^ .]", message.c_str() );
mosh/src/frontend/terminaloverlay.cc: swprintf( tmp, 128, L"mosh: %ls (%.0f s without contact.) [To quit: Ctrl-^ .]", message.c_str(),
ximaera@atlantis:0#533:/tmp$ grep -rnA 10 Ctrl-\^ mosh/src/frontend/stmclient.cc
214: if ( the_byte == '.' ) { /* Quit sequence is Ctrl-^ . */
215- if ( network->has_remote_addr() && (!network->shutdown_in_progress()) ) {
216- overlays.get_notification_engine().set_notification_string( wstring( L"Exiting on user request..." ) );
217- network->start_shutdown();
218- return true;
219- } else {
220- return false;
221- }
222- } else if ( the_byte == '^' ) {
223: /* Emulation sequence to type Ctrl-^ is Ctrl-^ ^ */
224- network->get_current_state().push_back( Parser::UserByte( 0x1E ) );
225- } else {
226: /* Ctrl-^ followed by anything other than . and ^ gets sent literally */
227- network->get_current_state().push_back( Parser::UserByte( 0x1E ) );
228- network->get_current_state().push_back( Parser::UserByte( the_byte ) );
229- }
230-
231- quit_sequence_started = false;
232- continue;
233- }
234-
235- quit_sequence_started = (the_byte == 0x1E);
236- if ( quit_sequence_started ) {
ximaera@atlantis:0#534:/tmp$
позволяют однозначно узнать, что что mosh закроется, когда увидит на stdin последовательность (0x1e, '.'). При этом эти действия занимают несколько меньше времени, чем тот час, который вы провели в ожидании (бесполезного) ответа на комментарий на Хабре. У меня это отняло менее минуты, плюс ещё минута на поиск репозитория на официальном сайте mosh, ссылку на который привёл автор. Даже вот этот комментарий я дольше писал.
Ладно бы mosh был написан на Haskell, но синтаксис C++ всякий (тем более PHP-программист) способен распарсить.
Я нашел правильную комбинацию — это Ctrl плюс одновременно 6 и английская точка.
Но запись
Но запись
Ctrl-^ .
ни разу не правильная, так как ^ делается с шифтом, а в искомой комбинации шифт не нужен.Проект занятный, надо будет попробовать.
P.S. А ещё у них самый уродский сайт на Twitter Bootstrap из тех, что я видел. И наверное хуже уже представить нельзя, потому, что портить можно только вёрстку, но не дизайн.
P.S. А ещё у них самый уродский сайт на Twitter Bootstrap из тех, что я видел. И наверное хуже уже представить нельзя, потому, что портить можно только вёрстку, но не дизайн.
Ого. У меня мнение совершенно противоположное. Я как на сайт зашел, он мне показался идеалом презентации программы. Все понятно описывается, преимущества, как собрать, как использовать, faq, и все на одной странице. Я люблю именно такие сайты.
Собственно я о наполнении контентом ничего не говорил.
Просто использовать столько разных сеток одновременно, да ещё и по вертикали все элементы вразнобой — это же просто смерть глазам. Неужели интуитивно не колбасит от таких вещей, без вникания в теорию? (Это не претензия, просто попытка объяснить свою точку зрения и понять противоположную).
Просто использовать столько разных сеток одновременно, да ещё и по вертикали все элементы вразнобой — это же просто смерть глазам. Неужели интуитивно не колбасит от таких вещей, без вникания в теорию? (Это не претензия, просто попытка объяснить свою точку зрения и понять противоположную).
Кстати говоря, cygwin-версия не за горами:
github.com/keithw/mosh/issues/164
В целом все под cygwin уже работает (я проверил на собственном опыте), осталось только вмерджить все воедино в master и собрать дистрибутив с нужными dll-ками cygwin-а — тогда можно будет под windows запускать в нативном режиме.
github.com/keithw/mosh/issues/164
В целом все под cygwin уже работает (я проверил на собственном опыте), осталось только вмерджить все воедино в master и собрать дистрибутив с нужными dll-ками cygwin-а — тогда можно будет под windows запускать в нативном режиме.
Sign up to leave a comment.
Mosh — SSH 2012 года