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

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

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

единственный вопрос заключается в том, как запустить эти фиктивные демоны SSH.

Я использую Python и ткани.

2 ответов


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

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


переопределение демона SSH не является тривиальным.

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

можно использовать os.система звонить в оболочке:

os.system('sshd -f myconfig -p 22022')