<html><head></head><body><p>gitlab安装成功之后,我在某一个用户下增加了ssh公钥,提交克隆时还是需要密码,但是输入了很多密码,还是不行。</p>
讯享网
gitlab的日志文件在/var/log/gitlab中。
(1)打开/var/log/secure文件,查看登录日志:
(2) 我修改了/etc/security/access.conf,在最后添加了:-:ALL EXCEPT root git:ALL,(gitlab默认创建了git用户),systemctl restart sshd重启sshd,不起作用。
(3)我修改了/etc/ssh/sshd_config,添加了:AllowUsers git,还是不起作用。
(4) 使用:ssh -vvT git@192.168.1.60,测试
(5) 使用git用户登录:su git,然后:ssh-keygen -t rsa -C “your email”生成密钥,失败
(6) 强制解锁密码:sudo passwd -u -f git
然后重新设置git的密码:passwd git,结果不起作用。
(7) 修改/root/.ssh文件夹权限:chmod 700 .ssh/, 失败。(这个慎用,我设置了700,最后xShell无法使用ssh登录了。只能设置为777才重新登录上的。)
弄了很长时间,还是不行,先老老实实用http模式访问,待有空再继续深究。
(8) 我想到了,是不是因为用户名配置的不对呢?gitlab在判断用户权限的时候,是不是使用了git config中的值呢?于是我按照空项目的时候,提示的要创建的全局用户名和邮箱,进行了设置。
结果失败啊。
(9) 修改配置文件/.ssh/config文件(没有,就创建)/.ssh/config文件
创建
这个方法也不行。

我突然想到了,为了验证是否是gitlab的问题,我可以先用root用户登录试试。如果配置了公钥,使用root用户可以登录,那么就有可能是gitlab的问题。如果root用户也无法正常登录,则有可能是其他的问题。
经过验证,使用root也无法登录ssh远程电脑。
20200229更新
我在另一台电脑上,添加了ssh的key,然后测试ssh连接,出现了:Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that a host key has just been changed.The fingerprint for the RSA key sent by the remote host is 错误。
解决方法:删除~/.ssh/known_hosts文件(我这里删除的是c/Users/Administrator/.ssh/known_hosts),或者如果你可以判断出known_hosts中原ssh服务器的公钥,删去那部分。
最后只能进行了重装了(可能是版本问题)。没有什么是重装系统解决不了的问题。如果有,那就买个新电脑吧。因为gitlab-ee也是依赖这个openssh的,所以也会被一同卸载,我的gitlab作为一测试,还没有很多仓库,就干脆卸载了。
奇怪重装之后,还是不行。
最后我把我windows上的公钥也重新生成了一遍,结果竟然真的可以登录了。
可喜可贺啊,可喜可贺啊,尝试了这么多方法,最后竟然是因为本机密钥不对所以连接不上,终于算是完成了第一步的工作了。但是同样的,为何在其他的电脑上,也是无法登录呢?
经过卸载openssh和gitlab-ee重新安装,重新安装过程,也是曲折百出,但是最终还是让我解决了(GitLab服务器搭建, 其中的问题汇总。),最终终于解决了ssh无法登录的问题。
我突然有这样的疑问,为何还需要花费如此多的时间,如此执着的解决一个可能并不影响最终结果的问题呢?
主要是因为dns解析的问题。在ssh服务其上编辑/etc/resolv.conf,增加:
重启网络
速度就明显变快了。测试连接时间:

讯享网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/146709.html