Эмулируйте сервер SSH для тестирования

Я имею к тесту записи на сценарий развертывания, который загружает файлы через SSH, но я хотел бы иметь его не в зависимости от внешней конфигурации серверов. Это - то, как я вижу его:

  1. Создайте 2 демонов SSH без аутентификации на различных портах петлевого интерфейса.
  2. Запустите скрипт развертывания на этих двух портах

Единственный вопрос состоит в том, как выполнить их фиктивные демоны SSH.

Я использую Python и Матрицу.

9
задан Cœur 30 April 2017 в 02:21
поделиться

2 ответа

Если вам нужен полный контроль над действиями сервера (например, для того, чтобы имитировать различные проблемные условия и таким образом провести действительно тщательное тестирование), я рекомендую twisted: как показано в этой статье, с его помощью очень легко создать свой собственный SSH-сервер.

Если вы предпочитаете использовать существующий ssh-сервер, выберите его из списка здесь (или используйте тот, который поставляется с вашей системой, если таковая имеется; или, возможно, sshwindows, если вы работаете на windows) и запустите его с помощью subprocess из Python как часть запуска ваших тестов.

6
ответ дан 3 November 2019 в 04:40
поделиться

Реализация демона SSH не является тривиальной.

Если ваша единственная проблема в том, что вы не хотите, чтобы он зависел от существующих конфигураций, вы можете запустить новый sshd с -f для указания конкретной конфигурации и -p для запуска на заданном порту.

Вы можете использовать os.system для вызовов оболочки:

os.system('sshd -f myconfig -p 22022')
1
ответ дан 3 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

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