2010-07-06 2 views
9

SSH를 통해 파일을 업로드하는 배포 스크립트 테스트를 작성해야하지만 외부 서버 구성에 의존하지 않아야합니다. 이것은 내가 보는 방법입니다 :테스트 목적으로 SSH 서버를 에뮬레이트하십시오.

  1. 루프백 인터페이스의 다른 포트에 인증없이 2 개의 SSH 데몬을 만듭니다.
  2. 는 유일한 문제는 이러한 더미 SSH 데몬을 실행하는 방법은 두 포트

에 배포 스크립트를 실행합니다.

저는 파이썬과 패브릭을 사용합니다.

답변

6

(예함으로써 다양한 문제의 조건을 시뮬레이션하기 위해 정말 철저를 수행

당신은 쉘 통화를 할 수 os.system을을 사용할 수 있습니다 테스트) twisted을 권장합니다.이 기사에서 알 수 있듯이, 사용자 지정 SSH 서버를 쉽게 설정할 수 있습니다. 오히려 기존의 SSH 서버를 사용하려는 경우

목록 here에서 하나를 선택 (또는 경우, 시스템과 함께 제공되는 하나를 사용하는, 또는 어쩌면 sshwindows Windows에서 인 경우) 및 subprocess으로 실행 테스트 시작의 일부로 파이썬에서.

+0

유용한 아이디어를 가져 주셔서 감사합니다.하지만 필자는 원숭이가 Fabric API를 패치하여 로컬 서버에서 모든 명령을 실행했습니다. 어쨌든 최상의 솔루션을 보유하고 있으므로 귀하의 의견을 표기하겠습니다. –

1

SSH 데몬을 다시 구현하는 것은 쉬운 일이 아닙니다.

기존 구성에 따라 문제가 발생하지 않도록하려면 sshd을 -f와 함께 사용하여 특정 구성을 지정하고 -p를 사용하여 특정 포트에서 실행할 수 있습니다. 서버의 행동을 완벽하게 제어하려면

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

이것은 좋은 생각이며 거의 작동하고 있지만 특정 authorized_keys 파일로 두 번 실행할 수없는 ssh-agent가 붙어 있습니다. 어쨌든 귀하의 답변에 감사드립니다! –

관련 문제