Git使用前準備

創建GitHub賬戶,在Username一欄中用英文和數字輸入要創建的ID,您的公開頁面的URL會用到這個ID。
https://github.com/join註冊

設置SSH Key

GitHub上鍊接已有倉庫時的認證,是通過使用了SSH的公開密鑰認證方式進行的。現在讓我們來創建公開密鑰認證的所需的SSH Key ,並將其添加至GitHub。已經創建過的讀者,請用現有的密鑰進行設置。

1、檢查是否已經有SSH Key

如果沒有密鑰則不會有此文件夾,有則備份刪除
$cd ~/.ssh

git檢查是否有SSH Key

2、生成新的密鑰

$ssh-keygen -t rsa -C "email"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):(按回車鍵)
Created directory '/c/Users/Administrator/.ssh'.
Enter passphrase (empty for no passphrase):(輸入密碼)
Enter same passphrase again:(再次輸入密碼)

設置好後

+---[RSA 2048]----+
|        o=o .    |
|        ..Eo .   |
|  .      *o..    |
| o o o o=o.      |
省略。。。。。

添加公開密鑰

在GitHub中添加公開密鑰,今後就可以用私有密鑰進行認證了。
點擊右上角的賬戶設定按鈕(Account  Settings或者Settings),選擇SSH and GPG keys 菜單後,就會出現頁面,點擊New SSH key  或者 Add SSH key ,會出現Title和Key兩個輸入框。在Title中輸入適當的密鑰名稱。Key部分請粘貼id_rse.pub文件裏的內容。id_rse.pub 的內容可以用如下方法查看

1、進入到SSH文件夾

$ cd ~/.ssh

2、查看是否有id_rse.pub 文件

$ ls

git查看文件

3、查看密鑰

$ cat id_rsa.pub
ssh-rsa 公開密鑰 email

4、將SSH私鑰添加到 ssh-agent

Git Bash 執行 eval "$(ssh-agent -s)"
Git for Windows 執行 eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

4、添加密鑰到Github 賬號

首先,複製id_rsa.pub
clip < ~/.ssh/id_rsa.pub,進入Github Account設置後,新增SSH key,郵件複製Key,Title可以隨意

git添加密鑰

添加成功之後,創建賬戶時所用的郵箱會接到一封提示“公共密鑰添加完成”的郵件。
完成以上設置後,就可以用手中的私人密鑰與GitHub進行認證和通信了。讓我們來實際試一試

測試:輸入:ssh -T [email protected]
正常會彈出:Hi kyne0116! You've successfully authenticated, but GitHub does not provide shell access.

如果沒有就進行反而彈出:ssh: connect to host github.com port 22: Connection timed out
就進行下面修改
解決辦法:(linux下)
~$ cd ~
~$ cd .ssh/
~$ touch config
在.ssh目錄下創建一個config文件,輸入如下內容:(使用linux的文件輸入,查詢百度)
Host github.com 
User xxx@163.com (你註冊github時的郵箱,這裏使用註冊的用戶名也行) 
Hostname ssh.github.com 
PreferredAuthentications publickey 
IdentityFile ~/.ssh/id_rsa 
Port 443 

可以把以上內容拷到config文件裏面,注意修改你的郵箱,保存並關閉
在進行測試

$ ssh -T [email protected]

The authenticity of host '[ssh.github.com]:443 ([192.30.253.122]:443)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? (輸入:y)
Please type 'yes' or 'no': (輸入:yes)
Warning: Permanently added '[ssh.github.com]:443,[192.30.253.122]:443' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':(輸入創建時的密鑰)
Hi MiMang66! You've successfully authenticated, but GitHub does not provide shell access.

git鏈接

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