Назад | Перейти на главную страницу

Как использовать ssh при медленных / нестабильных соединениях?

Я имею дело с очень медленным соединением оболочки. Он находится в облаке, и я очень далеко от сервера. Мое соединение также иногда прерывается, поскольку оно осуществляется через Интернет, и я также могу использовать общий Wi-Fi или 3G. Есть ли способ сразу увидеть, что я печатаю? Пытаться набирать команды и ждать каждого персонажа - это ужасно.

Пытаться Mosh.

Mosh (мобильная оболочка)
Приложение удаленного терминала, которое допускает роуминг, поддерживает прерывистое соединение и обеспечивает интеллектуальное локальное эхо и редактирование строк нажатия клавиш пользователем.

Mosh - это замена SSH. Он более надежен и отзывчив, особенно при использовании Wi-Fi, сотовой связи и междугородних соединений.

Mosh - бесплатное программное обеспечение, доступное для GNU / Linux, FreeBSD, Solaris, Mac OS X и Android.

альтернатива (а также в дополнение) к ответу dmourati: используйте screen или tmux или другие вещи, чтобы поддерживать сеансы в рабочем состоянии, когда вы отключены. (Вы просто повторно подключаетесь к сеансу после повторного подключения и видите терминал таким, каким вы его оставили, даже с полноэкранными программами [vi и т. Д.]). У него также есть много других преимуществ (совместное использование сеансов с коллегами и т. Д.) (Как и в собственном FAQ Моша, в котором говорится:

В: Почему буфер обратной прокрутки моего терминала не заполнен?

Mosh 1.2 синхронизирует только видимое состояние терминала. Mosh 1.3 будет иметь полную поддержку прокрутки; см. этот выпуск и другие связанные оттуда. На данный момент обходной путь - использовать screen или tmux на удаленной стороне.

И вы также должны использовать rsync для копирования файлов без необходимости повторно отправлять уже отправленные части по сети, когда соединение прерывается.

Вы должны увидеть, где находится задержка / узкие места. Вам следует попытаться получить лучший доступ к инфраструктуре ... либо локально, либо на стороне провайдера. Вы завершаете свои важные или критические занятия в tmux или screen мультиплексоры ...

Пожалуйста, дайте нам цифры. Для простых сеансов SSH требуется особенно плохое соединение, чтобы иметь проблемы ... Мне приходилось получать доступ к системам на другом конце света из самолет через VPN и до сих пор не имел особых проблем. Это постоянная проблема? Что значит traceroute сказать тебе?

Для будущих читателей этой темы совет @lowellheddings в его блог, вместе с использованием экран, может помочь решить эту проблему:

Вы можете настроить ssh-клиент так, чтобы он автоматически отправлял код отказа от протокола каждые несколько секунд, чтобы сервер не отключал вас. В других клиентах этот параметр иногда называют Keep-Alive или Stop-Disconnecting-So-Much.
Добавьте следующую строку в файл / etc / ssh / ssh_config:
ServerAliveInterval 60
...