jenkins(ci-server)和我的 git 存储库都托管在同一台服务器上。git repo 由 gitolite 控制。如果我从外部访问存储库,例如从我的工作站我得到
ssh git@arrakis
PTY allocation request failed on channel 0
hello simou, this is git@arrakis running gitolite3 v3.0-12-ge0ed141 on git 1.7.3.4
R W testing
Connection to arrakis closed.
我猜这很好(除了PTY ...警告)
现在回到服务器,我希望 jenkins 也能够连接到我的 git 存储库。
jenkins@arrakis:~> ssh git@arrakis
gitolite: PTY allocation request failed on channel 0
以用户 git(gitolite 用户)身份登录 arrakis:
git@arrakis:~> cat ~git/.ssh/authorized_keys
command="/home/git/gitServer/gitolite/src/gitolite-shell jenkins",no-port-forwarding,no-x11-forwarding,no-agent-forwarding,no-pty ssh-rsa <PUBLIC-KEY> jenkins@arrakis
“no-pty”条目让我很怀疑,所以我将其从 authorized_keys 中删除并再次尝试:
jenkins@arrakis:~> ssh git@arrakis
hello jenkins, this is git@arrakis running gitolite3 v3.0-12-ge0ed141 on git 1.7.3.4
R W testing
Connection to arrakis closed.
这解决了我的问题,但我不确定删除“no-pty”的后果。
为什么它只影响本地访问,因为远程访问似乎根本没有受到影响?
openSUSE 11.4 (x86_64) 版本 = 11.4 代号 = 青瓷