ubuntu git生成ssh key (公鑰私鑰)配置GitLab
Git是分散式的程式碼管理工具,遠端的程式碼管理是基於SSH的,所以要使用遠端的Git則需要SSH的配置。
github的SSH配置如下:
一 、
設定Git的user name和email:
git config --global user.name "xx"
git config --global user.email "[email protected]"
git config --list(檢視配置的資訊)
二、生成SSH金鑰過程:
1.檢視是否已經有了ssh金鑰:cd ~/.ssh
如果沒有金鑰則不會有此資料夾,有則備份刪除
2.生存金鑰:
$ ssh-keygen -t rsa(生產公鑰)
按3個回車,密碼為空。
最後得到了兩個檔案:id_rsa和id_rsa.pub
檢視id_rsa.pub公鑰
cat ~/.ssh/id_rsa.pub
開啟id_rsa.pub檔案,並且複製全部內容。
4).開啟GitLab賬戶,開啟SSH Keys:
將剛剛複製的內容新增到Key的文字域中,然後點選Add key
這樣就添加了一個SSH key。5).完成上面的步驟之後就可以使用ssh來連線GitLab,並進行相應的操作了。
在第一次使用SSH連線GitLab的時候會有一個RSA密碼指紋確認,輸入yes接受即可,以後再連線就不會出現確認提示了。
這就是我們通過SSH方式clone下來的專案。到此,我們就完成了為GitLab賬號新增SSH Keys並連線GitLab的所有過程。
---------------------
一般會遇到如下問題:
1 .git新增公鑰後報錯sign_and_send_pubkey: signing failed: agent refused operation的解決辦法
在伺服器新增完公鑰後報錯
1 |
Permission denied (publickey). |
解決辦法:這個時候我們只要執行下
1 2 |
|
就可以了
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/home/robin/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /home/robin/.ssh/id_rsa
解決辦法:這個時候我們只要執行下
chmod 755 ~/.ssh/
chmod 600 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/known_hosts
三 、git 相關語句
git status //檢視狀態,工作區相對於版本庫是否有修改
git diff //檢視不同之處在哪
git add filename //把指定檔案新增到版本庫中的暫存區
git commit -m "備註" //把暫存區的修改提交到最終的本地倉庫中
git checkout -- filename //會把工作區的相應檔案恢復到你最近提交的一個版本,即丟棄了工作區最新的更改,適用於還未提交的情況。
git reset HEAD filename //丟棄了相應檔案的最新提交(add),不改變工作區和庫區,只改變了暫存區。
git reset --hard HEAD^ //版本回退,工作區和庫區都進行相應的回退。
rm filename //刪除工作區的相應檔案
git rm filename //刪除庫區的相應檔案,注意刪除之後應該進行commit
---------------------