linux管理多個ssh公鑰密鑰

很多網上免ssh密碼使用git的命令都沒有考慮到多個公鑰密鑰的情況,這裏蒐集並整理一下管理多個ssh公鑰密鑰的步驟。

首先生成公鑰和密鑰,默認情況公鑰的文件名比密鑰末尾多.pub,下面以管理coding.net和github.com兩個git倉庫的ssh公鑰密鑰爲例(如果是在windows下,請安裝git客戶端然後使用git bash來鍵入下面的命令;如果是在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”

這個命令直接通過-f參數指定了密鑰和公鑰的文件名,比如-f ~/.ssh/id_rsa.coding,其生產的密鑰爲~/.ssh/id_rsa.coding,公鑰爲~/.ssh/id_rsa.coding.pub,生成好了公鑰和密鑰後,把公鑰文件中的內容追加到~/.ssh/authorized_keys文件的末尾,同理github的公鑰密鑰的生成方式類似。注意追加前authorized_keys文件的末尾需要有個換行符。

ssh-rsa AAAAB3NzaC1yc2EAAaaaaaaupeyE1NMMrb121244DwhwFLsPFiFrFb1QUwQtX2m/YSi8ELn3Vga/5AhfKKPWG+nOczWZxi0XguiyAslRiiowXaUjBYei5NHHBcAy+GiZWs4u8h3ZU7uGvwmQlqHf8tQ/I0J1RNR6nQ8Ra9882398akk23h9Hhp63EagSbpkefg7qScroq0+VZ2yfLyjUCLgxhb+Eah+r9EqQ4l%HEF;asd8hLQw449W1SzKz3hCwxFAJFKbj/n+J50vNXB3fLNeTNiq@OOIkn324n802Do5jIZGFzNrYsIRFbJVbHvIsodyXDmz6Qbqlx87xmEQ== [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAaa2#@8923n(&@hfg2-hg9002nkglsdfPCBUhDN185+jyoJQRwLImRr6IOwh/LSBS1N22pO#NG3434ng90u32n@0)@#NKDLHWO:@_jqtUIBr8UzWzliM5Zcn9U/DjSjuAiP/SFg1JEoXfWSFToWQpYNbGS9VFwU83MH1iGGDUeaeHY5mAMWy57ym/+Jm/hPs1I3E+OtDT9+K1RyIGr44Ur7aWpKZ/PMgiuPUc6qfGFVP4xvRw== [email protected]

同時把這個公鑰添加到git倉庫ssh key管理的地方,比如github是在Settings–>SSH Keys裏面

當有多個ssh密鑰需要管理時,一定要修改config文件的權限,否則你配置後仍然時無效的
touch ~/.ssh/config
chmod 600 ~/.ssh/config

~/.ssh/config文件的內容爲:
Host github.com
IdentityFile ~/.ssh/id_rsa.github
User git
Host git.coding.net
IdentityFile ~/.ssh/id_rsa.coding
User git

其中User後面的值爲你訪問的git ssh地址的@之前的部分,比如:[email protected]:dongritengfei/beego.git的@前面是git,所以User後面的值爲git。Host就是你的git倉庫的域名或者IP。

然後是用這個命令來測試是否配置ok
ssh -T [email protected]
Welcome to GitHub, you name!

如果你看到這個就說明你ok了,如果你看到下面的樣子:
Bad owner or permissions on /home/admin/.ssh/config

那你需要執行:
chmod 600 ~/.ssh/config

然後再試試應該就可以了。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章