生成 SSH 公鑰
$cd~/.ssh$lsauthorized_keys2? id_dsa? ? ? known_hostsconfig? ? ? ? ? ? id_dsa.pub
我們需要尋找一對以id_dsa或id_rsa命名的文件,其中一個帶有.pub擴展名。.pub文件是你的公鑰,另一個則是私鑰。 如果找不到這樣的文件(或者根本沒有.ssh目錄),你可以通過運行ssh-keygen程序來創建它們。在 Linux/Mac 系統中,ssh-keygen隨 SSH 軟件包提供;在 Windows 上,該程序包含于 MSysGit 軟件包中。
$ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/home/schacon/.ssh/id_rsa):Created directory '/home/schacon/.ssh'.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/schacon/.ssh/id_rsa.Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.The key fingerprint is:d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local
首先ssh-keygen會確認密鑰的存儲位置(默認是.ssh/id_rsa),然后它會要求你輸入兩次密鑰口令。如果你不想在使用密鑰時輸入口令,將其留空即可。
現在,進行了上述操作的用戶需要將各自的公鑰發送給任意一個 Git 服務器管理員(假設服務器正在使用基于公鑰的 SSH 驗證設置)。 他們所要做的就是復制各自的.pub文件內容,并將其通過郵件發送。 公鑰看起來是這樣的:
$cat ~/.ssh/id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local
關于在多種操作系統中生成 SSH 密鑰的更深入教程,請參閱 GitHub 的 SSH 密鑰指南