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

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

3 ответа

Попробуйте Мош.

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам