Это команда autossh, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
автосш - отслеживать и перезапускать сеансы ssh
СИНТАКСИС
автосш [-V] [-M порт [: echo_port]] [-f] [SSH_ОПЦИИ]
ОПИСАНИЕ
автосш это программа для запуска копии ssh и отслеживания ее, перезапуска по мере необходимости
если он умрет или прекратит движение.
Первоначальная идея и механизм были взяты из rstunnel (Reliable SSH Tunnel). С версией
1.2 из автосш метод изменился: автосш использует ssh для создания цикла пересылки ssh
(один с локального на удаленный, один с удаленного на локальный), а затем отправляет тестовые данные, которые он
рассчитывает вернуться. (Идея принадлежит Терренсу Мартину.)
В версии 1.3 добавлен новый метод (спасибо Рону Йорстону): порт может быть указан для
удаленный эхо-сервис, который будет отражать тестовые данные. Это позволяет избежать заторов и
усложнение проверки того, что все номера портов на удаленной машине не совпадают. В
метод loop-of-forwardings остается доступным для ситуаций, когда использование эхо-службы может
невозможно.
УПРАВЛЕНИЕ SSH
SSH выходы
автосш пытается определить способ смерти процесса ssh, который он контролирует, и действовать
соответственно. Правила следующие:
1. Если процесс ssh завершился нормально (например, кто-то набрал "exit" в
интерактивная сессия), автосш выходит, а не перезапускается;
2. Если автосш сам получает сигнал SIGTERM, SIGINT или SIGKILL, предполагается, что
это было намеренно сигнализировано и завершается после убийства дочернего процесса ssh;
3. Если автосш сам получает сигнал SIGUSR1, он убивает дочерний процесс ssh и
запускает новый;
4. Периодически (по умолчанию каждые 10 минут), автосш пытается пропустить трафик на
отслеживать перенаправленный порт. Если это не удается, автосш убьет дочерний процесс ssh (если
он все еще работает) и запустить новый;
5. Если дочерний процесс ssh умирает по любой другой причине, автосш попытается начать
новый.
Стартап поведение
Если сеанс ssh завершился неудачно со статусом выхода 1 с первой попытки, автосш
1. предположит, что возникла проблема с синтаксисом или настройкой подключения, и будет
выйти, а не повторять попытку;
2. Есть время «стартовых ворот». Если первый процесс ssh завершился неудачно в течение первых нескольких
секунды после запуска, автосш предполагает, что он так и не появился "с самого начала
gate "и завершает работу. Это необходимо для обработки первоначальной неудачной аутентификации, подключения и т. д.
По умолчанию это время составляет 30 секунд, и его можно изменить (см. AUTOSSH_GATETIME
переменная среды ниже). Если AUTOSSH_GATETIME установлен в 0, то оба поведения
отключены: нет "стартовых ворот", и autossh перезапустится, даже если ssh
терпит неудачу при первом запуске со статусом выхода 1. Время "стартовых ворот" также
установлен в 0, когда -f используется флаг autossh.
Продолжить сбои
Если соединение ssh не удается и попытки перезапустить его быстро терпят неудачу, автосш
начнет откладывать попытки перезапуска, постепенно отступая все дальше и дальше до
максимальный интервал автосш время опроса (обычно 10 минут). автосш можно "подтолкнуть"
чтобы повторить попытку, сигнализируя об этом, возможно, с помощью SIGHUP ("kill -HUP").
Связь установка
Поскольку соединения должны устанавливаться без присмотра, использование автосш требует, чтобы какая-то форма
настроить автоматическую аутентификацию. Использование RSAAuthentication с ssh-agent - это
рекомендуемый метод. Пример сценария оболочки пытается проверить, есть ли агент.
выполняется для текущей среды и запускать ее, если ее нет.
Нельзя не подчеркнуть, что вы должны убедиться, что ssh работает сам по себе, что вы можете установить
запустите сеанс, который вы хотите, прежде чем пытаться запустить его под автосш
Если вы выполняете туннелирование и используете старую версию ssh, которая не поддерживает -N флаг,
вам следует выполнить обновление (ваша версия имеет недостатки безопасности). Если вы не можете обновить, вы можете захотеть
сделайте так, как это делает rstunnel, и дайте ssh команду для запуска, например "sleep 99999999999".
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-M порт [: echo_port]
указывает используемый базовый порт мониторинга. Без эхо-порта этот порт и
порт сразу над ним ( порт +1) должно быть что-то, что больше не используется.
автосш отправит тестовые данные на базовый порт мониторинга и получит их обратно на
порт выше. Например, если вы укажете «-M 20000», автосш настроит нападающих так
что он может отправлять данные на порт 20000 и получать их обратно на порт 20001.
В качестве альтернативы может быть указан порт для удаленной эхо-службы. Это должно быть
порт 7, если вы хотите использовать стандартную службу inetd echo. Когда эхо-порт
указан, используется только указанный порт монитора, и он несет монитор
сообщение в обоих направлениях.
Многие люди отключают службу эха или даже inetd, поэтому убедитесь, что это
услуга доступна на удаленной машине. Некоторые операционные системы позволяют
укажите, что служба прослушивает только локальный хост (интерфейс обратной связи), который
было бы достаточно для этого использования.
Эхо-сервис также может быть чем-то более сложным: возможно, демоном, который
контролирует группу туннелей ssh.
Установка порта монитора на 0 отключает функцию мониторинга, и autossh будет
перезапускать ssh только после выхода ssh. Например, если вы используете последнюю версию
OpenSSH, вы можете изучить его, используя СерверАливеИнтервал и
СерверАливеКаунтМакс параметры для выхода клиента SSH, если он больше не обнаруживает
подключен к серверу. Во многих отношениях это может быть лучшим решением, чем
порт мониторинга.
-f заставляет autossh переходить в фоновый режим перед запуском ssh. В -f флаг снят
из аргументов, переданных в ssh. Обратите внимание, что между -f
с автосш, и -f с ssh: при использовании с автосш ssh не сможет запросить
пароли или парольные фразы. Когда -f используется время "стартовых ворот" (см.
AUTOSSH_GATETIME) установлен в 0.
-V Причины автосш для отображения номера версии и выхода.
ОКРУЖАЮЩАЯ СРЕДА
Кроме флага для установки порта мониторинга соединения, автосш использует среду
переменные для управления функциями. ssh, кажется, все еще собирает буквы для опций, и
это кажется самым простым способом избежать столкновений.
АВТОSSH_DEBUG
Если эта переменная установлена, уровень ведения журнала установлен на LOG_DEBUG, и если
операционная система поддерживает это, syslog настроен на дублирование записей журнала в stderr.
AUTOSSH_FIRST_POLL
Задает время ожидания перед первой проверкой соединения. После этого генерал
используется время опроса (см. AUTOSSH_POLL ниже).
АВТОSSH_GATETIME
Определяет, как долго должен работать ssh, прежде чем мы сочтем его успешным. В
по умолчанию 30 секунд. Обратите внимание, что если AUTOSSH_GATETIME установлен в 0, то не только
поведение гейта отключено, но autossh также игнорирует ошибку первого запуска
ssh. Это может быть полезно при запуске autossh при загрузке.
АВТОSSH_LOGLEVEL
Определяет уровень журнала, соответствующий уровням, используемым syslog; так 0-7 с 7
быть самым болтливым.
АВТОSSH_LOGFILE
Указывает, что автосш следует использовать указанный файл журнала, а не системный журнал.
АВТОSSH_MAXLIFETIME
Устанавливает максимальное количество секунд, в течение которых программа должна запускаться. Когда-то количество
прошло несколько секунд, потомок ssh будет убит, и программа завершится.
АВТОSSH_MAXSTART
Указывает, сколько раз следует запускать ssh. Отрицательное число означает отсутствие ограничений на
количество запусков ssh. Значение по умолчанию -1.
АВТОSSH_MESSAGE
Добавить сообщение к эхо-сообщению, отправляемому при тестировании соединений.
АВТОСШ_НТСЕРВИС
(Только Cygwin.) Если установлено «да», autossh настраивается для работы как служба NT под
cygrunsrv. Это добавляет -N флаг для ssh, если он еще не установлен, устанавливает для вывода журнала значение
stdout и изменяет поведение при выходе из ssh так, что он перезапускается даже при
нормальный выход.
АВТОSSH_ПУТЬ
Задает путь к исполняемому файлу ssh, если он отличается от пути
скомпилирован в.
АВТОSSH_PIDFILE
Записать autossh pid в указанный файл.
АВТОSSH_POLL
Задает время опроса соединения в секундах; по умолчанию 600 секунд. Пока не
AUTOSSH_FIRST_POLL, время первого опроса будет соответствовать времени опроса. Если
время опроса в два раза меньше таймаутов сети (по умолчанию 15 секунд)
таймауты сети будут уменьшены до 1/2 времени опроса.
АВТОСШ_ПОРТ
Устанавливает порт мониторинга соединения. В основном, если ssh присваивает -M некоторые
время. Но из-за этого возможного использования AUTOSSH_PORT переопределяет -M флаг. Ценность
0 отключает функцию мониторинга.
ДЕБИАНСКИЙ ПОВЕДЕНИЕ
Версия autossh для debian использует оболочку для автоматического выбора свободного порта мониторинга.
и -M переопределяет AUTOSSH_PORT, подробнее см. /usr/share/doc/autossh/README.Debian
Информация.
Используйте autossh онлайн с помощью сервисов onworks.net