中文字幕日韩在线久久,日韩精品乱码久久久久,国产精品自拍视频在线播放,丝袜 制服 国产 在线,黄色成人污污污在线观看,超碰在线中文字幕av,91亚洲国产成人精品久久久,亚洲少妇av乱码在线观看,精品人妻av在线一区二区三区

gitlab ssh無法clone(ssh-keygen加密算法問題)

2023-03-10 14:01:40

背景:

gitlab 比較古老的一個(gè)版本8.5.8(twang2218/gitlab-ce-zh:8.5.8).搭建方式可以參照:Kubernetes 1.20.5 安裝gitlab。其實(shí)都是基于sameersbn的文檔搭建的,甚是古老!開啟了https and ssh的方式(也有http,畢竟on kubernetes.作了端口的映射),https and http clone的時(shí)候經(jīng)常會(huì)出現(xiàn)504......也沒有辦法倉(cāng)庫(kù)都大幾百M(fèi)......

image.png

先不說他們更新麻煩, 我在打包的時(shí)候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一個(gè)倉(cāng)庫(kù),http and https的這樣504摧殘,正好準(zhǔn)備ssh clone 一下......

gitlab ssh clone 倉(cāng)庫(kù)

生成ssh密鑰對(duì):

其實(shí)本來有密鑰對(duì)的,這里假裝一下小白直接從頭開始創(chuàng)建了:

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

當(dāng)然了也可以下面這樣創(chuàng)建:

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

上傳公鑰到gitlab服務(wù)器:

查看id_rsa.pub 中的文件內(nèi)容上傳到gitlab的ssh密鑰管理里面:

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

clone倉(cāng)庫(kù)失敗的經(jīng)歷

嘗試ssh clone 倉(cāng)庫(kù),當(dāng)然了前提需要確定用戶有此倉(cāng)庫(kù)的操作權(quán)限起碼是訪問才能clone......但是現(xiàn)實(shí)是clone失敗......

image.png

嘗試了網(wǎng)上很多的所謂解決方案無一例外都以失敗告終.......抱著打不過就躲的想法,先換一臺(tái)服務(wù)器去嘗試一下:

rocky8 server 一臺(tái)如下:

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服務(wù)器:

image.png

繼續(xù)嘗試clone,竟然成功了........

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

我想對(duì)比一下兩個(gè)服務(wù)器的ssh 版本 or 加密算法?

rocky8

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

rocky9

ssh -V
image.png

ssh版本是不一樣 有小版本的區(qū)別,具體的差異還不清楚......

~/.ssh目錄下文件看一下,肉眼可見known_hosts 中兩個(gè)系統(tǒng)一個(gè)ecdsa-sha2-nistp256 另外一個(gè)ssh-ed25519.這應(yīng)該是加密算法吧?換個(gè)思路重新生成一個(gè)其他加密方式的密鑰嘗試一下?

image.png
image.png

先不明所以的新如何讓rocky9 生成一個(gè)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參數(shù)嘗試一下?rocky 9先刪除 .ssh目錄下所有文件(當(dāng)然了應(yīng)該備份一下,我這里就草根演示!)

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

想當(dāng)然以為上傳id_ecdsa.pub到gitlab:

image.png

首先確認(rèn)這是有效的,可以clone下來了:

image.png

看一下know_host仍然是ssh-ed25519。但是git ssh這里是解決了。具體愿意還不知道.....不過我貌似前幾天update了一下系統(tǒng).....這里就記錄一下吧,具體的原因 and加密的算法有時(shí)間去研究一下!

image.png

關(guān)鍵詞: