Почему драйвер 8250 UART не пробуждает TTY, если ожидается более 256 символов?

Последовательность
  1. Создайте пустой файл / etc / ssh / sshd_not_to_be_run , если openssh-server не установлен. (Некоторые варианты сценария для этого условия здесь )
  2. Установить openssh-server
  3. Отредактировать / etc / ssh / sshd_config по желанию
  4. Удалить / etc / ssh / sshd_not_to_be_run

  5. Выполнить

     systemctl enable ssh 
    systemctl systemctl restart ssh 
     

    или хорошо протестированный эквивалент. restart работает нормально, если служба еще не была запущена (сравните condrestart try-restart ). Я заметил, что systemctl enable --now не запускает службу, если она уже была включена, но не запущена.

Неиспользованные параметры

Это другие варианты, которые я обнаружил и решил не использовать.

  1. Эта проблема обсуждалась на debian-users . К сожалению, состояние гонки не решено. Сопровождающий Debian предлагает настроить policy-rc.d так, чтобы блокировать вызов invoke-rc.d ssh start в пакете postinstall .Есть неуклюжие детали неуклюжие детали, но достижимые. К сожалению, это не совсем так; это не предотвращает состояние гонки. policy-rc.d не имеет отношения к команде update-rc.d ssh enable , которую также выполняет пакет. Это может быть обнаружено в случае сбоя питания или сбоя системы в неподходящее время.

  2. Обратите внимание, что пакет openssh-server предлагает ufw :). Ubuntu создал ufw как очень простой брандмауэр. Я несколько озадачен, для каких «пользовательских историй» он был изначально написан, но в Ubuntu Oneiric он используется для поддержки концепции доверенных сетей, как это делает Windows.

    Вы можете установить ufw и злоупотреблять им для блокировки SSH, пока вы не настроите его. Конечно, это предполагает, что не существует конфигурации, в которой ufw рассматривает текущую сеть как надежную. Хех.

    Мне не нравится этот вариант по двум причинам. Я писал последовательности как отдельные доступные роли. Во-первых, этот параметр означает, что роль SSH мешает настройке брандмауэра. Даже когда хосту не нужен брандмауэр. (Или, если вы пишете эти последовательности постепенно ... и, возможно, у вас есть существующий брандмауэр, в котором даже нет команд, таких как ufw, которые так удобны для автоматизации).

    Вторая проблема заключается в том, что анзибельные роли созданы идемпотентными. Вы можете обновить свои доступные роли и запустить одну команду, чтобы применить их все. Он выделит задачи, которые фактически изменили систему против. те, которые уже совпали.Вы делаете перезапуск служб условным от того, была ли изменена их конфигурация (в отличие от уже совпадающей). Это не соответствует модели безоговорочного включения и выключения конфигурации брандмауэра. Вы можете сделать это условным, если openssh-server еще не установлен, но это не одна из распространенных идиом, которые вы видите в примерах документации. Вам либо нужен ansible 2.2, чтобы применить check_mode: yes к service name = ssh ], либо вам нужен сценарий вокруг dpkg .

  3. РЕДАКТИРОВАТЬ: Вы можете просто создать символическую ссылку на mask ssh.service перед установкой пакета. Я не против предположить, что используется systemd , однако автоматизация этого была бы несколько утомительной. Я думаю, что установка пакета вернет ошибку и оставит пакет установленным, но в состоянии «ненастроенный». После исправления конфигурации "перенастроить" пакет несложно. Раздражает то, что вы должны игнорировать ошибку во время установки пакета. Вы рискуете продолжить, если могла произойти еще одна ошибка. Это особенно проблема для правильной автоматизации, но это также может раздражать, если вы следуете ручному контрольному списку .

  4. Заранее создайте sshd_config . Я проверил это, и он не был перезаписан. Проблема: нигде не было упакованного sshd_config . (Я пробовал это и в Fedora - они выдают предупреждение и создают sshd_config.rpmnew). Если вы хотите основывать свою конфигурацию на упакованной конфигурации ... она становится сложной, даже если пакет не потерял свой файл.

  5. В одном из ответов, на который ссылается @ Ipor-Sircer, указывается, что Debian можно исправить с помощью dpkg-divert . debootstrap использует это при запуске стоп-демон . Мы могли бы отклонить update-rc.d в сочетании с вариантом 1. Теперь мы пишем два временных сценария ...

  6. Менее навязчиво, мы могли бы попытаться использовать его для отклонения установки / etc / sshd_config . Это позволит сохранить упакованный файл конфигурации для проверки и, явно предотвратив перезапись, может быть более надежным. К сожалению, оказалось, что dpkg-divert не влияет на sshd_config , потому что файл динамически генерируется сценарием после установки. Это, вероятно, объясняет отсутствие предупреждения в опции 5.

Последний пункт мне объяснил кто-то, указавший на исходный код пакета . Затем я заметил ссылку на sshd_not_to_be_run в сценарии postrm.

8
09.02.2016, 01:06
0 ответов

Теги

Похожие вопросы