GitLab 配置伺服器 SSH 許可權

2021-10-04 01:14:57 字數 1200 閱讀 8214

公司的專案使用 gitlab 管理遠端 git 庫,為了實現 ci\cd 需要在伺服器上對 git 庫進行 clone、pull 甚至是 push 操作,公司 gitlab 通過 ssh 的方式實現認證,就需要把伺服器的 ssh 公鑰配置到 gitlab 中,實踐過程中遇到的一些坑在這分享一下

找到工程配置裡的 deploy keys 配置項,展開

嘗試錄入你伺服器的 ssh 公鑰

查詢伺服器預設使用的 ssh 公私鑰的方法:cat ~/.ssh/id_rsa.pub

如果第二步成功,恭喜你,配置成功了!可以嘗試在伺服器上 clone 你的 git 庫了

如果第二步失敗,提示已經被錄入過了(如下圖),嘗試第三步

在 privately accessible deploy keys 裡找下找下有沒有你需要的伺服器,這裡會顯示其他你有許可權的 git 庫曾經配置過的伺服器 ssh 公鑰

如果第三步找到了,enable 一下就好了,恭喜你,配置成功了!可以嘗試在伺服器上 clone 你的 git 庫了

如果第三步沒有找到,可能是由於在其他你沒有許可權的 git 庫中使用了這個 ssh 公鑰,如果無法協調管理員開通許可權的話,可以嘗試第四步(最終解決方案)

在伺服器上生成一對新的 ssh 公私鑰對,注意不要覆蓋之前的

生成新的 ssh 公私鑰對的命令:ssh-keygen -t rsa -c # 選擇生成路徑時可以用 /***/.ssh/id_rsa2 防止覆蓋預設的公私鑰對

將新生成的 ssh 公鑰錄入到 gitlab 中,由於是新生成的,肯定之前沒有錄入過

在伺服器上使用新生成的 ssh 公私鑰的方法:

#! /bin/bash

ssh-agent bash -c "ssh-add ~/.ssh/id_rsa2 && git clone $"

ssh伺服器配置

基本上,所有的 sshd 伺服器詳細設定都放在 etc ssh sshd config 裡面!不過,每個 linux distribution 的預設設定都不太相同,所以我們有必要來了解一下整個設定值的意義為何才好!同時請注意,在預設的檔案內,只要是預設有出現且被批註的設定值 設定值前面加 即為 預...

配置ssh伺服器

開啟c users k.ssh 如果有known hosts檔案刪除裡面所有內容儲存。儲存後可以正常登陸伺服器。輸入ssh root 108.61.247.227 之後輸入密碼,由於linux系統密碼不可見所以要注意不要寫錯,輸入後打回車可以登陸。在輸入 wget no check certific...

配置gitlab伺服器的git hooks 鉤子

需求是本地開發分支develop推到遠端倉庫後自動部署測試伺服器。看很多文章,講的非常複雜。都沒講清楚架構情況。我們的架構是,多台本地開發機器,一台伺服器,伺服器上跑著測試程式和gitlab。這邊文章解決的是測試端和git遠端倉庫在一台機器上的情況,如果是測試程式和gitlab各自一台伺服器,那比較...