Как мне 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
сказать тебе?