我设置了Jenkins CI来部署我的PHP应用到我们的QA Apache服务器上,我遇到了一个isuse。我成功地设置了从本地 jenkins 帐户到远程 apache 帐户的 pubkey 认证,但当我使用 rsync
我得到以下错误信息。
[jenkins@build ~]# rsync -avz -e ssh test.txt [email protected]:/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 [email protected]
连接成功,但很快就把我踢了出去,因 apache
没有shell。
我同意这可能是最简单的方法。 我们也做了类似的事情,但用的是 scp
而不是。 就像..:
scp /path/to/test.txt [email protected]:/path/to/site
我知道这是个很老的帖子了,但如果以后有人看到这个页面... ...
我也有同样的问题,但是当我修复了我的.bashrc.cshrc.profile错误时,我删除了之前在我的.bashrc.cshrc.profile中的 "echo setting DISPLAY=$DISPLAY "语句。所以,修复.bashrc.cshrc.profile错误对我有帮助。