gitlab ssh无法clone(ssh-keygen加密算法问题)

背景:

gitlab 比较古老的一个版本8.5.8(twang2218/gitlab-ce-zh:8.5.8).搭建方式可以参照:Kubernetes 1.20.5 安装gitlab。其实都是基于sameersbn的文档搭建的,甚是古老!开启了https and ssh的方式(也有http,毕竟on kubernetes.作了端口的映射),https and http clone的时候经常会出现504......也没有办法仓库都大几百M......

image.png

先不说他们更新麻烦, 我在打包的时候jenkins pipeline基本都是depth: 1git clone --depth=1


(资料图片)

stages {        stage("GetCode"){            agent { label  "build01" }            steps{                script{                    println("下载代码 --> 分支: ${env.branchName}")                    checkout([$class: "GitSCM", branches: [[name: "${env.branchName}"]],                    doGenerateSubmoduleConfigurations: false,                        extensions: [[$class: "CloneOption", depth: 1, noTags: false, reference: "", shallow: true]],                    submoduleCfg: [],                        userRemoteConfigs: [[credentialsId: "xxxxx",                        url: "${env.gitHttpURL}"]]])                }            }        }

今天正好需要clone一个仓库,http and https的这样504摧残,正好准备ssh clone 一下......

gitlab ssh clone 仓库

生成ssh密钥对:

其实本来有密钥对的,这里假装一下小白直接从头开始创建了:

[root@zhangpeng .ssh]# ssh-keygen
image.png

当然了也可以下面这样创建:

ssh-keygen -o -t rsa -b 4096 -C "xxxx"

上传公钥到gitlab服务器:

查看id_rsa.pub 中的文件内容上传到gitlab的ssh密钥管理里面:

cat id_rsa.pub 
image.png
image.png
image.png

clone仓库失败的经历

尝试ssh clone 仓库,当然了前提需要确定用户有此仓库的操作权限起码是访问才能clone......但是现实是clone失败......

image.png

尝试了网上很多的所谓解决方案无一例外都以失败告终.......抱着打不过就躲的想法,先换一台服务器去尝试一下:

rocky8 server 一台如下:

image.png
[root@gitlab .ssh]# ssh-keygen Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:SHA256:J3pDUja1v0cWNy5qQLl6Xa1e2YI9oex3WZFsC0q5XlQ root@gitlabThe key"s randomart image is:+---[RSA 3072]----+|          .      ||         ...   E ||        +o. . +.o||       o...+ ooB.||      . Soo =o*oo||       +.oo+oOoo+||      ..o..+*.=o+||       ....o..o+.||            .o . |+----[SHA256]-----+
image.png

上传pub 公钥到gitlab服务器:

image.png

继续尝试clone,竟然成功了........

git clone ssh://git@xxx.xxxx.com/xxxx/xxxx.git
image.png

我想对比一下两个服务器的ssh 版本 or 加密算法?

rocky8

[root@gitlab .ssh]# ssh -VOpenSSH_8.0p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021

rocky9

ssh -V
image.png

ssh版本是不一样 有小版本的区别,具体的差异还不清楚......

~/.ssh目录下文件看一下,肉眼可见known_hosts 中两个系统一个ecdsa-sha2-nistp256 另外一个ssh-ed25519.这应该是加密算法吧?换个思路重新生成一个其他加密方式的密钥尝试一下?

image.png
image.png

先不明所以的新如何让rocky9 生成一个ecdsa-sha2-nistp256的呢?偶然看到了https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

image.png

我能不能尝试一下修改一下ed25519参数尝试一下?rocky 9先删除 .ssh目录下所有文件(当然了应该备份一下,我这里就草根演示!)

ssh-keygen -t ecdsa -C "zhangpeng@zhangpeng.com"
image.png

想当然以为上传id_ecdsa.pub到gitlab:

image.png

首先确认这是有效的,可以clone下来了:

image.png

看一下know_host仍然是ssh-ed25519。但是git ssh这里是解决了。具体愿意还不知道.....不过我貌似前几天update了一下系统.....这里就记录一下吧,具体的原因 and加密的算法有时间去研究一下!

image.png

关键词: https HTTP 网络安全

    为你推荐

    gitlab ssh无法clone(ssh-keygen加密算法问题)

    gitlab比较古老的一个版本8 5 8(twang2218 gitlab-ce-zh:8 5 8) 搭建方式可以参照:Kubernetes1 20 5安

    来源:腾讯云 23-03-04

    法律类国际法自学考试指导与题解-最新消息

    1、《(法律类)国际法自学考试指导与题解》是1999年东北财经大学出版社出版的图书。2、作者是张潇剑。文章到此就分享

    来源:互联网 23-03-04

    美国加州冬季风暴肆虐,超7.5万用户断电

    据央视新闻,美国冬季风暴仍在持续。受冬季风暴影响,常年以温暖著称的美国加利福尼亚州经历了罕见的寒冷天气和降雪。截至本月1

    来源:互联网 23-03-04

    环球视讯!【强信心 开好局】松桃大路镇:“四力齐发”闯出村集体经济发展新路子

    (胡伟胡艳)近年来,松桃苗族自治县大路镇坚持党建引领,积极探索“党建共抓、产业共育、市场共闯、效益共享、群众共富”的发

    来源:多彩贵州网 23-03-02

    环球简讯:博士毕业需要什么_博士毕业需要什么条件?

    1、每个院校的要求不一样,学年制也不一样。2、一般需要2-3年才能毕业,但有些院校和专业要求4-5年,这要看你发表论文的

    来源:互联网 23-03-02
    返回顶部