Git的.ssh文件夾的內容


1. rsa與rsa.pub

首先是rsa與rsa.pub是如何產生的,產生的命令如下:

ssh-keygen -t rsa -C "yourname@email.com"

解釋:ssh-keygen是產生密鑰,密鑰有兩種類型rsa和dsa兩種,-t用來指定密鑰類型,-t rsa是將密鑰類型指定為rsa,-C是公鑰中的備注,通常指定為自己的郵箱。

上面的命令執行后會讓你輸入密鑰的名字,通常為id_rsa,如果有多個密鑰則需要輸入不同的名字。id_rsa和id_rsa.pub。id_rsa為私有密鑰,id_rsa.pub為公有密鑰。id_rsa.pub公鑰是我們用來在Github的profile中的SSH and GPG keys中輸入的,id_rsa是我們的私鑰,當我們從Github上請求內容時,例如clone時,Github服務器會通過算法計算私有密鑰,並將計算結果與公有密鑰比對,如果不一致會提示訪問失敗。

測試是否連接成功可以使用如下命令:

ssh -T git@github.com

2. config文件

config文件主要在配置多個git賬戶時使用的,里面主要配置了訪問不同的主機(Host)時采用不同的密鑰。文件內容例如:

#公司的git地址
Host git.***.com  
   User git
   Hostname git.***.com  #公司的git地址
   IdentityFile ~/.ssh/id_rsa  #訪問公司git的SSH KEY
   Port   ***  #公司的git端口

Host github.com
   User git
   Hostname github.com #github的地址
   IdentityFile ~/.ssh/id_rsa_github  #訪問github的SSH KEY


3. known_hosts文件

這個文件主要是用來記錄服務器端的Host,IP以及rsa文件的。

有時候你訪問Git服務器,會報Host key verification failed,主機密鑰驗證失敗。主機就是自己的電腦了,密鑰失敗主要有兩種情況:一、RSA密鑰改了;二、known_hosts文件中存在緩存記錄,如果不是RSA的問題,那應該就是known_hosts文件的問題了,此時查看錯誤信息里有一條:

Offending ECDSA key in /Users/username/.ssh/known_hosts: 5

上面的最后一位數可能是別的,你只需要找到對應的那條記錄,刪掉即可。當然也可以直接刪掉known_hosts文件。known_hosts文件主要是用來進行緩存的,緩存主要是為了減少驗證次數,不用每次都驗證,直接讀取緩存即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM