我在服务器上安装了gitlab http://gitlab.com/,我无法理解。
每个git服务器的一般建议是用户git
没有有效的shell而不是/ bin / bash使用git-shell。但是,不能将gitlab设置为工作,而是需要/ bin / bash作为登录shell。
出于这个原因,我担心用户可以使用他们使用gitlab上传的密钥ssh到服务器,但似乎它使用了一些实际上阻止用户直接登录的 magic :
petanb@debian:~$ ssh git@remus
PTY allocation request failed on channel 0
Welcome to GitLab, petr.bena!
Connection to remus closed.
我在/ home / git,.profile
.bashrc
检查了git用户的整个文件夹,.ssh
的内容都没问题,那么它是如何做到的呢?它如何阻止用户使用ssh?那是什么样的ssh钩?
答案 0 :(得分:1)
这很可能是因为,在remus服务器上,git用户的.ssh / authorized_keys文件在SSH公钥之前设置了选项 no-pty 。例如:
无端口转发,无代理转发,没有-X11-转发,否-PTY 强> ssh-rsa AAAAB3NzaC1yc2EAA ..... user @ machine