很多網(wǎng)上免ssh密碼使用git的命令都沒有考慮到多個(gè)公鑰密鑰的情況,這里搜集并整理一下管理多個(gè)ssh公鑰密鑰的步驟。
首先生成公鑰和密鑰,默認(rèn)情況公鑰的文件名比密鑰末尾多.pub,下面以管理coding.net和github.com兩個(gè)git倉(cāng)庫(kù)的ssh公鑰密鑰為例(如果是在windows下,請(qǐng)安裝git客戶端然后使用git bash來(lái)鍵入下面的命令;如果是在linux下,則直接使用終端即可):
ssh-keygen -t rsa -f ~/.ssh/id_rsa.coding -C “Key for coding.net”
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C “Key for GitHub stuff”
這個(gè)命令直接通過(guò)-f參數(shù)指定了密鑰和公鑰的文件名,比如-f ~/.ssh/id_rsa.coding,其生產(chǎn)的密鑰為~/.ssh/id_rsa.coding,公鑰為~/.ssh/id_rsa.coding.pub,生成好了公鑰和密鑰后,把公鑰文件中的內(nèi)容追加到~/.ssh/authorized_keys文件的末尾,同理github的公鑰密鑰的生成方式類似。注意追加前authorized_keys文件的末尾需要有個(gè)換行符。
ssh-rsa AAAAB3NzaC1yc2EAAaaaaaaupeyE1NMMrb121244DwhwFLsPFiFrFb1QUwQtX2m/YSi8ELn3Vga/5AhfKKPWG+nOczWZxi0XguiyAslRiiowXaUjBYei5NHHBcAy+GiZWs4u8h3ZU7uGvwmQlqHf8tQ/I0J1RNR6nQ8Ra9882398akk23h9Hhp63EagSbpkefg7qScroq0+VZ2yfLyjUCLgxhb+Eah+r9EqQ4l%HEF;asd8hLQw449W1SzKz3hCwxFAJFKbj/n+J50vNXB3fLNeTNiq@OOIkn324n802Do5jIZGFzNrYsIRFbJVbHvIsodyXDmz6Qbqlx87xmEQ== admaaa@163.com
ssh-rsa AAAAB3NzaC1yc2EAAAaa2#@8923n(&@hfg2-hg9002nkglsdfPCBUhDN185+jyoJQRwLImRr6IOwh/LSBS1N22pO#NG3434ng90u32n@0)@#NKDLHWO:@_jqtUIBr8UzWzliM5Zcn9U/DjSjuAiP/SFg1JEoXfWSFToWQpYNbGS9VFwU83MH1iGGDUeaeHY5mAMWy57ym/+Jm/hPs1I3E+OtDT9+K1RyIGr44Ur7aWpKZ/PMgiuPUc6qfGFVP4xvRw== myyyy@gmail.com
同時(shí)把這個(gè)公鑰添加到git倉(cāng)庫(kù)ssh key管理的地方,比如github是在Settings–>SSH Keys里面
當(dāng)有多個(gè)ssh密鑰需要管理時(shí),一定要修改config文件的權(quán)限,否則你配置后仍然時(shí)無(wú)效的
touch ~/.ssh/config
chmod 600 ~/.ssh/config
~/.ssh/config文件的內(nèi)容為:
Host github.com
IdentityFile ~/.ssh/id_rsa.github
User git
Host git.coding.net
IdentityFile ~/.ssh/id_rsa.coding
User git
其中User后面的值為你訪問(wèn)的git ssh地址的@之前的部分,比如:git@github.com:dongritengfei/beego.git的@前面是git,所以User后面的值為git。Host就是你的git倉(cāng)庫(kù)的域名或者IP。
然后是用這個(gè)命令來(lái)測(cè)試是否配置ok
ssh -T git@github.com
Welcome to GitHub, you name!
如果你看到這個(gè)就說(shuō)明你ok了,如果你看到下面的樣子:
Bad owner or permissions on /home/admin/.ssh/config
那你需要執(zhí)行:
chmod 600 ~/.ssh/config
然后再試試應(yīng)該就可以了。
http://rongmayisheng.com/post/linux%E7%AE%A1%E7%90%86%E5%A4%9A%E4%B8%AAssh%E5%85%AC%E9%92%A5%E5%AF%86%E9%92%A5
聯(lián)系客服