Git公鑰生成及後續問題解決

Git公鑰生成及後續問題解決

  因爲博主使用的Ubuntu昨天莫名其妙出現故障,終端消失在搜索無果後,選擇重啓Ubuntu,結果ubuntu徹底崩了,只出現桌面背景,沒有圖標,在進入控制檯設置多次無果後,博主選擇重新安裝ubuntu.在更改完中文環境,安裝好中文輸入法後,最大的問題來了,要進行配置我的git倉庫coding.net,在一開始git init ,git push -u origin master,git add hello.c,git commit  -m “註釋”以後,git push提示我:Permission denied ,也就是沒有權限進行git push,正好在之前的ubuntu每次git push都要輸入用戶名和密碼,過程太過繁瑣,於是趁這個機會我就設置一下git公鑰,一勞永逸。下面跟着我的步驟來設置吧~

  賬戶 SSH 公鑰是跟用戶賬戶關聯的公鑰,一旦設置,SSH 就擁有賬戶下所有項目倉庫的讀寫權限。 設置“賬戶 SSH 公鑰”是開發者使用 SSH 方式訪問/修改代碼倉庫的“前置工作”,分爲“獲取 SSH 協議地址”、“生成公鑰”、“在 Coding.net 添加公鑰”三個步驟。

第一步:獲取SSH協議地址;

在項目的代碼頁面點擊 SSH 切換到 SSH 協議, 獲得 clone 地址,形如[email protected]:wzw/leave-a-message.git。 請使用這個地址來訪問您的代碼倉庫。

 

第二步:生成公鑰

在ubuntu終端輸入命令行:$ssh-keygen -t rsa -b 4096 -C "[email protected]"

接下來就一路enter,不建議更改路徑及加密,當然你想設置密碼也可以。

出現下述信息,則表示公鑰生成成功

Your identification has been saved in /Users/you/.ssh/id_rsa.

# Your public key has been saved in /Users/you/.ssh/id_rsa.pub.

# The key fingerprint is:

# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]

 

第三步:在coding.net中添加公鑰

首先在在ubuntu中輸入命令行,獲取公鑰內容:cat /home/linux(ubuntu的用戶名)/.ssh/id_rsa.pub

複製其全部內容,添加到你coding.net賬戶“SSH 公鑰”頁面中,名字可以隨意起,

 

完成後點擊“添加”,然後輸入你的動態密碼就添加完成啦!

 

第四步:命令行測試,嘗試鏈接主機

$ ssh -T [email protected] // 注意 git.coding.net 接入到 CDN 上所以會解析多個不同的 host ip The authenticity of host ‘git.coding.net (61.146.73.68)’ can not be established. RSA key fingerprint is 98:ab:2b:30:60:00:82:86:bb:85:db:87:22:c4:4f:b1. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘git.coding.net,61.146.73.68’ (RSA) to the list of kn own hosts.

 

Enter passphrase for key ‘/c/Users/Yuankai/.ssh/id_rsa’: Coding.net Tips : [ Hello Kyle_lyk! You have connected to Coding.net by SSH successfully! ]

如果你出現了上述信息,那麼恭喜你,已經設置成功了,你可以git init 然後git pull 等一系列操作了。然而,大多數人並沒有這麼幸運,大多敲完命令行$ ssh -T [email protected]出現的消息是 Permission denied (publickey).

而我的解決辦法是:

1.最先,查看一下密鑰: ls /home/linux/.ssh/

ssh -add -l 查看密鑰列表,不爲空進行下述操作

2.測試ssh鏈接是否成功:$ ssh -v git@@git.coding.net

最後兩行顯示的是debug1: No more authentication methods to try.  

Permission denied (publickey).  

3.ssh-agent -s 這步只是打印一下信息

4.ssh-add ~/.ssh/id_rsa

一般不會報錯,會顯示認證成功

5.最後一步:驗證key: ssh -T [email protected]

好啦,一般到這步問題應該都解決啦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章