1. Git配置
連接GIT服務器使用的是SSH連接,因此無密碼登錄,需要使用公鑰和私鑰。
1) 生成公鑰/私鑰
在Git Shell中輸入ssh-keygen命令,直接回車使用默認路徑和文件名,然后提示輸入密碼的時候,直接回車。
我之所以折騰了好久,就是因為沒有使用默認的文件名,導致GIT找不到私鑰文件。
2) 發布公鑰
將生成的id_rsa.pub,添加到服務器的.ssh/authorized_keys中。
可以使用ftp/scp等方式把文件傳到服務器上,然后執行:
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
注意:要確保authorized_keys的權限是600,如果權限不對,有的SSH服務器會不認這個文件。
如果你使用的GitHub,登錄到github,點擊右上方的Accounting settings,選擇SSH key,點擊Add SSH key,把id_rsa.pub中的內容復制過去就可以了。
2. TortoiseGit配置
至此,git已經可以實現免密碼登錄了。但是使用TortoiseGit時,還是會提示輸入密碼,因為TortoiseGit使用的密鑰與git並不一樣,它使用的是putty。要使用剛才生成的密鑰,需要進行轉換。
1) 生成公鑰/私鑰
打開“puttygen.exe“,點擊”load“,選擇剛才上次的私鑰文件id_rsa,然后”save private key“保存成ppk文件。
2) 指定使用的私鑰
在TortoiseGit的Settings中,指定Putty Key為上一步生成的ppk文件。
這樣,TortoiseGit就可以實現免密碼登錄了。
1.如何生成ssh公鑰
你可以按如下命令來生成 sshkey:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public/private rsa key pair... # 三次回車即可生成 ssh key
查看你的 public key,並把他添加到碼雲(Gitee.com) SSH key添加地址:https://gitee.com/profile/sshkeys)
cat ~/.ssh/id_rsa.pub # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
添加后,在終端(Terminal)中輸入
ssh -T git@gitee.com
若返回
Welcome to Gitee.com, yourname!
則證明添加成功。
注意:git 代碼的路徑一定是SSH才能實現免密登錄,很多人默認使用http方式,會造成每次都會輸入密碼。