【GitLab服务器SSH访问无法生效的问题办理过程】

打印 上一主题 下一主题

主题 979|帖子 979|积分 2937

在连接gitlab过程中,已经配置了SSH KEY但一直表现为Permission denied (publickey,password).。无法连接。
1. 发现过程
发现过程:
1.利用ssh -vT git@xxx.xxx.xxx.xxx提示
  1. debug1: debug1: Offering RSA public key: /c/Users/xxx/.ssh/id_rsa
复制代码
说明公钥有被推送到服务端
2.在服务端运行service ssh status检察ssh日志,并在客户端再次运行ssh -vT git@xxx.xxx.xxx.xxx,发现服务端日志中出现
  1. `userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]`
复制代码
发现问题,gitlab服务端ssh服务默认不允许ssh-rsa算法的密钥访问
百度发现这里的签名算法ssh-rsa,它大概代表利用SHA-1哈希算法的RSA签名。因为SHA-1是不安全的,OpenSSH禁用ssh-rsa自8.8版以来的签名算法。
**
2. 两种办理办法
**
有两种办法:


  • 在/etc/ssh/sshd_config文件末尾加上以下内容,并运行systemctl restart sshd.service重启服务,注意*:此操作是更新gitlab服务端配置,不是当地客户端哈。
  1. - PubkeyAcceptedAlgorithms +ssh-rsa
复制代码


  • 更新当地客户端ssh key,接纳更安全的算法如:ecdsa 等
    实行ssh-keygen -t ecdsa -b 521 -f ~/.ssh/id_ecdsa天生新密钥,记得更新config文件,然后将id_ecdsa.pub内容赋值到gitlab,新增ssh key,删除旧ssh key。
  1. Host *
  2.     HostName xxx.xxx.xxx.xxx
  3.     User git
  4.     PreferredAuthentications publickey
  5.     IdentityFile ~/.ssh/id_ecdsa
复制代码
方法1的操作是在服务端,方法2是在当地天生ssh key然后在gitlab web页面配置ssh key,别搞错了。
再次实行ssh -vT,能找到Welcome to GitLab字眼说明可以正确连接ssh了,皆大高兴~
结论,就是sshd服务不推荐rsa1算法,推荐接纳其他算法加密的密钥更好。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表