當從本地提交文件到github的時候,提交不成功,報錯,可能問題就是你還沒有生成ssh秘鑰
github要使用ssh密鑰的原因:
git使用https協議,每次pull, push都要輸入密碼,相當的煩。
使用git協議,然后使用ssh密鑰。這樣可以省去每次都輸密碼。
公鑰我們一般是給服務器的,他們到時候在權限中加入我給的公鑰,然后當我從遠地倉庫中下載項目的時候,我在git clone xxx
的時候,那個服務器我通過他的綁定的公鑰來匹配我的私鑰,這個時候,如果匹配,則就可以正常下載,如果不匹配,則失敗.
大多數 Git 服務器都會選擇使用 SSH 公鑰來進行授權。系統中的每個用戶都必須提供一個公鑰用於授權,沒有的話就要生成一個。
一、創建密鑰
(1).檢查下自己之前有沒有已經生成shh
cd ~/.ssh
如果能進入到.ssh文件目錄下 ,且顯示id_rsa(私有密鑰)和id_rsa.pub(公有密鑰)則證明,之前生成過.ssh秘鑰,可以直接使用里面的秘鑰。
(2).生成秘鑰
ssh-keygen -t rsa -C ‘xxx@xx.xxx’ //配置的郵箱
接着按3個回車 :
1 Generating public/private rsa key pair. 2 Enter file in which to save the key (/c/Users/Mr.Yang/.ssh/id_rsa): 3 Enter passphrase (empty for no passphrase): 4 Enter same passphrase again: 5 Your identification has been saved in /c/Users/Mr.Yang/.ssh/id_rsa. 6 Your public key has been saved in /c/Users/Mr.Yang/.ssh/id_rsa.pub. 7 The key fingerprint is: 8 SHA256:zA6wNJrFB6NcqS6eBog/AHlzQuvFjYpG759Yhh1lWGI xxxxxx@xxxxx.xxx(上面自己的郵箱) 9 The key's randomart image is: 10 +---[RSA 2048]----+ 11 | +E . | 12 | ..+oo+ | 13 | oo+*+.o | 14 |o.*===+o | 15 |==+*... S | 16 |B.+.o .o | 17 |++o. + . | 18 | +o.+ . | 19 |. o.o | 20 +----[SHA256]-----+
最后在.ssh目錄下得到了兩個文件:id_rsa(私有密鑰)和id_rsa.pub(公有密鑰)
二 、查看密鑰生成的目錄
git init //初始化一下,看看路徑對不對
四. 將公有密鑰添加到github SSH keys
使用記事本等軟件打開id_rsa.pub文件,將里面的內容復制,粘貼到github的New SSH key
五 .驗證是否連接成功
$ ssh -T git@github.com
出現: You've successfully authenticated, but GitHub does not provide shell access.就是說明配置成功