github SSH配置
前言
github有兩種更新的渠道,一種是https的,一種是ssh的,其中https每次都要輸入密碼,非常煩。所以,最好是配置好ssh。
ssh 配置
ssh是什么?他是一種遠程登錄服務,登錄后連接到服務器的終端上,然后就可以為所欲為了。git服務器也支持ssh登錄(當然只給你控制倉庫上傳和下載)。
第一步,就是要生成私鑰和公鑰密鑰對,這是一種加密方式,它給出一對密碼,私鑰加密,公鑰可以解密,公鑰加密,私鑰可以解密,其中,公鑰是可以公開發行的,別人用你的公鑰加密了數據,這個密文數據發給你,你就能用私鑰進行解密。然后你拿到對方的公鑰,同樣的步驟,你就可以發加密后的信息給他。這就達成了加密通信。理論上是很難破解的,只要你藏好私鑰。
ssh-keygen
命令會生成一對秘鑰,在linux中一般是放在~/.ssh/目錄下面。秘鑰文件是一個文本文件,可以打開讀取。把公鑰內容復制粘貼到服務器上面,服務器就擁有你的公鑰了。
創建密鑰對讓你輸入私鑰的名字:比如htqxgit_rsa 是私鑰,htqxgit_rsa.pub就是公鑰。
但是,如果你有很多對秘鑰,服務器怎么知道你要用哪個呢?
這一步是很少人會提到。在~/.ssh/目錄下,新建config文件,這里面可以配置。
Host gitee.com #這是碼雲倉庫
HostName gitee.com #域名
User git #用戶
IdentityFile ~/.ssh/htqxgit_rsa #指定私鑰,用絕對地址
一般倉庫地址是 git@gitee.com 這種形勢,其中@gitee.com 就是Host設定的,git@就是用戶名指定的。 然后指定秘鑰文件,注意要用絕對地址。
同理,你也可以配置github的,甚至是你個人架設的服務器的ssh。
有時候,你不只一個賬戶在同一個網站,怎么辦?你只需要修改 Host gitee.com 成 htqx2.gitee.com。 然后在git里面用git@htqx2.gitee.com 取代默認鏈接,也是可以正常訪問的。因為訪問的真實地址是HostName gitee.com指定。