ssh配置git clone簡易流程


1. 生成密鑰

ssh-keygen -t rsa -C "jaynaruto@qq.com"

//如果只有一對密鑰,建議不要修改默認的密鑰名稱,即一直按回車即可

此命令會在你當前用戶的個人目錄下(如我當前用戶為savokiss,就在/home/savokiss/.ssh,root則為/root)生成一對密鑰

默認的名字為id_rsaid_rsa.pub

 

2. 復制公鑰

復制id_rsa.pub中的內容到你git服務器(gitlab,coding,github)的配置ssh公鑰的地方

公鑰內容類似:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2czeS+H5+dSOA1F2QyOCF126LE2cfGzCfqll73i+C61o2VrRrQAqeadELSUeUYJRZkoNmBn/4ZMV7A0ZLvIpsMsXTkpQ+dE1rUtN/D01nFEoLPABsVb0KctGOozVWKXme7WTAdzGlW8Lyc6e/oOQZ71GXbthneh8FH/NBiZH2NsbFLePeq/YoO8RLoDK9WusOYotmqLvah99KoB2jm/dZ8G3Q36fXoVAo46NRbp1mdYyjwd7k2XUylQWbeWXpxP7Plr2VPQyrOuCxCaL9dzrZkWFhhoDOlpKppDoeCN6hUiMBz/eoOMw1Wlj+wtbpWPLJqv0rNn2+pO3BrMUcIMpw== jaynaruto@qq.com

 注: 如果僅僅需要部署,將以上公鑰配置到項目的 deploy key 部分即可

3. 測試連接

以coding為例:

ssh -vT git@git.coding.net

這里的-v是顯示詳細信息

具體會顯示很長的信息提示你連接是否成功,成功的話會有一個successfully!

Hello savokiss You've connected to Coding.net by SSH successfully!

 

4. linux用戶的問題

上面測試成功了,但是我在`/usr/share/nginx/html`中clone repo竟然還是提示我 Permission denied (publickey)

原因:

上面我用的一直都是savokiss用戶,具有sudo權限,而我生成密鑰的時候沒有加sudo,就生成在了`/home/savokiss/.ssh`下面

但是我clone repo的目錄是`/usr/share/nginx/html`,都是屬於root的,所以我clone的時候只能加上sudo

就是這個sudo造成ssh自動去`/root/.ssh`下面查找`id_rsa`私鑰!!!

所以我只能用sudo再生成一對密鑰了。。o(╯□╰)o

 

5. done

步驟就這么簡單,以前總是遇到問題是因為總是修改它默認的密鑰名稱,導致ssh在讀取默認配置(id_rsa)的時候失敗

簡單來講不要改它默認的名字就好!

當然如果你有多個密鑰要管理,可以改,然后參考下面的文章:

refer:

多 SSH Key 管理技巧與 Git 多賬戶登錄問題(小胡子哥)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM