我设置了Jenkins CI来将我的PHP应用程序部署到我们的QA Apache服务器,并遇到了问题。我成功地设置了本地Jenkins账户到远程Apache账户的公钥认证,但当我使用rsync
时,我会得到以下错误:
[jenkins@build ~]# rsync -avz -e ssh test.txt apache@site.example.com:/path/to/site
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(64) [sender=2.6.8]
[jenkins@build ~]#
可能存在一个问题,远程的apache
帐户没有有效的shell帐户,我是否应该创建一个具有shell访问权限并且属于"apache"
组的远程帐户?这不是SSH密钥问题,因为ssh apache@site.example.com
成功连接,但很快就将我踢出,因为apache
没有shell。