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.
Run Code Online (Sandbox Code Playgroud)
哪个好我猜(除了PTY ...警告)
现在回到服务器,我希望jenkins能够连接到我的git存储库.
jenkins@arrakis:~> ssh git@arrakis
gitolite: PTY allocation request failed on channel 0
Run Code Online (Sandbox Code Playgroud)
以用户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
Run Code Online (Sandbox Code Playgroud)
"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.
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题,但我不确定删除"no-pty"的后果.
为什么它只影响本地访问,因为远程访问似乎根本没有受到影响?
openSUSE 11.4(x86_64)VERSION = 11.4 …
我只是读此文章泊坞窗,它描述了如何dockerize一个简单的应用程序的文章.执行以下命令:
$ docker run -t -i ubuntu:14.04 /bin/bash,
Run Code Online (Sandbox Code Playgroud)
然后,给出以下解释:
在这里,我们再次指定了docker run命令并启动了一个ubuntu:14.04图像.但是我们也传递了两个标志:-t和-i.-t标志在我们的新容器中分配一个伪tty或终端,-i标志允许我们通过获取容器的标准(STDIN)来建立交互式连接.
我不明白其含义:
-i flag allows us to make an interactive connection by grabbing the standard in (STDIN)
Run Code Online (Sandbox Code Playgroud)
谢谢.
我想知道-T以下命令中的选项是什么,无法以某种方式在手册中看到此选项:
$ ssh -T git@gitlab.com
Welcome to GitLab, Simeon !
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?