嗨,我正在尝试使用 puppet 客户端/主服务器来设置我的服务器。我在本地虚拟机上一切运行正常,现在我正尝试设置我的第一个外部服务器。但是我无法让外部服务器上的客户端连接到主服务器;可能是因为主服务器位于防火墙后面,只打开了端口 22。我开始研究 SSH 隧道,但似乎无法让它工作。有人有这方面的经验吗?
答案1
最好的办法是提交一张票,请求启用以下防火墙规则:
PuppetClients -> PuppetMaster 8140/tcp
客户端<->主服务器通信已通过 SSL 隧道加密。要通过 ssh 进行通信,需要在客户端和服务器上进行一些配置黑客攻击,这只会让在您的环境中工作的其他人感到困惑和迷惑。您最好不要打开防火墙。
答案2
我不会否认 Scott Pack 的说法,但对于一次性使用来说,黑客行为并不是什么大问题,有时这对于部署很有用。ssh 对于持久隧道来说不太可接受,无论如何,对于通过 puppet 进行持续维护,请参阅 Scott 的回答并正确执行。
你可以像这样从傀儡大师那里触发傀儡:
ssh -R 8140:localhost:8140 remote-host.example.com puppet agent --test --server puppet
您可以使用与 puppetmaster 证书匹配的任何服务器名称,并将该名称映射到客户端的 /etc/hosts 文件中的 localhost。