Эмуляция SSH-сервера для тестирования
Я должен написать тест для сценария развертывания, который загружает файлы через SSH, но я хотел бы иметь его не в зависимости от конфигурации внешних серверов. Вот как я это вижу:--1-->
- создайте 2 демона SSH без аутентификации на разных портах интерфейса loopback.
- запустите сценарий развертывания на этих двух портах
единственный вопрос заключается в том, как запустить эти фиктивные демоны SSH.
Я использую Python и ткани.
2 ответов
Если вы хотите полный контроль над действиями сервера (например, для имитации различных проблемных условий и, таким образом, сделать действительно тщательное тестирование), я рекомендую twisted: Как показывает эта статья, это делает его очень легко настроить свой собственный сервер SSH.
Если вы предпочитаете использовать существующий ssh-сервер, выберите его из списка здесь (или использовать тот, который поставляется с вашей системой, если таковые имеются; или, может быть,sshwindows Если вы находитесь в windows) и запустите его с подпроцесс из Python в рамках запуска тестов.
переопределение демона SSH не является тривиальным.
Если ваша единственная проблема заключается в том, что вы не хотите их в зависимости от существующих конфигураций, вы можете запустить новый демон С -f для указания конкретной конфигурации и -p для запуска на данном порту.
можно использовать os.система звонить в оболочке:
os.system('sshd -f myconfig -p 22022')