我有一个带有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
信息
我想我需要在我的Docker容器中启用一些东西,因为在Docker容器之外gitlab可以正常工作。
如何解决这个问题? 谢谢!
答案 0 :(得分:14)
我在本文后面解决了这个问题: http://www.linuxweblog.com/blogs/sandip/20090203/setloginuid-failed-opening-loginuid
只需在文件" /etc/pam.d/sshd"中注释这一行:
session required pam_loginuid.so