我有一个带有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正常工作.
如何解决这个问题?
谢谢!
我在本文后面解决了这个问题:
http://www.linuxweblog.com/blogs/sandip/20090203/setloginuid-failed-opening-loginuid
原文链接:https://www.f2er.com/docker/436994.htmlhttp://www.linuxweblog.com/blogs/sandip/20090203/setloginuid-failed-opening-loginuid
只需在文件“/etc/pam.d/sshd”中注释这一行:
session required pam_loginuid.so