創建GitHub賬戶,在Username一欄中用英文和數字輸入要創建的ID,您的公開頁面的URL會用到這個ID。
在https://github.com/join註冊
設置SSH Key
GitHub上鍊接已有倉庫時的認證,是通過使用了SSH的公開密鑰認證方式進行的。現在讓我們來創建公開密鑰認證的所需的SSH Key ,並將其添加至GitHub。已經創建過的讀者,請用現有的密鑰進行設置。
1、檢查是否已經有SSH Key
如果沒有密鑰則不會有此文件夾,有則備份刪除
$cd ~/.ssh
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
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可以隨意
添加成功之後,創建賬戶時所用的郵箱會接到一封提示“公共密鑰添加完成”的郵件。
完成以上設置後,就可以用手中的私人密鑰與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.