我需要为上传文件的部署脚本编写测试,但我希望它不依赖于外部服务器配置。我的解决方案如下:
- 在回环接口的不同端口上创建2个无需身份验证的SSH守护程序。
- 在这两个端口上运行部署脚本。
唯一的问题是如何运行这些虚拟SSH守护进程。
我使用Python和Fabric。
我需要为上传文件的部署脚本编写测试,但我希望它不依赖于外部服务器配置。我的解决方案如下:
唯一的问题是如何运行这些虚拟SSH守护进程。
我使用Python和Fabric。
➜ docker pull kabirbaidhya/fakeserver
为服务器设置授权密钥。
➜ cat ~/.ssh/id_rsa.pub > /path/to/authorized_keys
➜ docker run -d -p 2222:22 \
-v "/path/to/authorized_keys:/etc/authorized_keys/tester" \
-e SSH_USERS="tester:1001:1001" \
--name=fakeserver kabirbaidhya/fakeserver
现在您可以使用任何SSH客户端来使用伪服务器。例如:
➜ ssh tester@localhost -p 2222
➜ ssh tester@localhost -p 2222 "echo 'Hello World'"
os.system('sshd -f myconfig -p 22022')