Docker - Gitlab容器。 SSH git登录错误

时间:2014-03-21 00:30:30

标签: git ssh gitlab docker

我有一个带有Gitlab应用程序的Docker容器。当我执行git clone / push / pull时,命令不起作用并输出以下消息: "致命协议错误坏行长度字符:Welc"

服务器响应不是git期望的响应(它是对常见ssh连接的响应)。

这是因为连接期间出错,请参阅:

 Mar 20 14:55:31 gitlab sshd[7934]: reverse mapping checking getaddrinfo for XXXX.XXXX.XXX.XX.static.host.gvt.net.br [XXXX.XXXX.XXX.XX] failed - POSSIBLE BREAK-IN ATTEMPT!
 Mar 20 14:55:32 gitlab sshd[7934]: Accepted publickey for git from XXXX.XXXX.XXX.XX port XXXX ssh2
 Mar 20 14:55:32 gitlab sshd[7934]: pam_loginuid(sshd:session): set_loginuid failed
 Mar 20 14:55:32 gitlab sshd[7934]: pam_unix(sshd:session): session opened for user git by (uid=0)
 Mar 20 14:55:32 gitlab sshd[7934]: pam_env(sshd:session): Unable to open env file: /etc/default/locale: No such file or directory
 Mar 20 14:55:32 gitlab sshd[7934]: error: PAM: pam_open_session(): Cannot make/remove an entry for the specified session

信息

  • GitLab版本:6.6.5
  • Docker版本:9.0
  • 主持人:Ubuntu 13.10
  • 容器:Ubuntu 13.10

我想我需要在我的Docker容器中启用一些东西,因为在Docker容器之外gitlab可以正常工作。

如何解决这个问题? 谢谢!

1 个答案:

答案 0 :(得分:14)

我在本文后面解决了这个问题: http://www.linuxweblog.com/blogs/sandip/20090203/setloginuid-failed-opening-loginuid

只需在文件" /etc/pam.d/sshd"中注释这一行:

session required        pam_loginuid.so