我們可能會需要在一台電腦上以不同的github賬戶去使用git,這時就需要去解決如何管理本機上的多個ssh key的問題了。
生成新ssh key
如果我們電腦上已經存在了一個ssh key,那么我們需要在我們電腦上生成第二個你想在本電腦上使用的id_rsa,使用命令:ssh-keygen -t rsa -C "你的github注冊郵箱"
。
下圖紅色標注部分會提示你把新生成的id_rsa存放到哪里,此處默認會存放在c盤的用戶名下的.ssh文件夾下(即你第一個github用戶ssh key存放的目錄),因此我們需要輸入路徑/c/Users/DodoMonster/.ssh(注意此路徑是你的系統盤下用戶目錄安放ssh密鑰的目錄,請使用自己電腦上相對應的目錄),最后我以“id_rsa_me”重新命名了ssh key防止默認與已有的ssh key重復。
在輸入了路徑后,會提示你輸入提交項目時輸入的密碼,不輸則表示不用密碼,這是為了防止別人隨便在你的項目上push東西,所以最好還是輸入一下你的密碼。回車,再重復輸入確認回車即可。
添加新ssh key
默認SSH只會讀取id_rsa,所以為了讓SSH識別新的私鑰,需要將其添加到SSH agent
使用命令:ssh-add ~/.ssh/id_rsa_me
如果報錯:Could not open a connection to your authentication agent.無法連接到ssh agent
可執行ssh-agent bash
命令后再執行ssh-add
命
然后將公鑰添加到git賬號中 https://github.com/settings/keys
配置config文件
查看.ssh文件中是否存在config文件
如果已存在則直接編輯config文件,命令:vim config
#這是linux的命令,進入了vim界面后按a或i或A或I
進入編輯模式,編輯完成后按esc鍵輸入:wq
保存文件退出
如果不存在則需要創建config文件,命令:touch config
,再對config文件進行編輯
對config文件進行配置填寫:
#Default 第一個賬號(123456@xxxx.com)
Host default
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_me
#second 第二個賬號(38894403@xxxx.com)
Host zc
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
其中Host 后的名字可以隨意方便自己記憶,但HostName必須為github.com(或者其它git地址)。
測試是否配置成功
使用命令:
ssh -T git@zc
出現如圖的歡迎語則為配置成功。
注意:配置完成后,在連接Host不是github.com的github倉庫時,遠程庫的地址要對應地做一些修改:
而並非原來的git@github.com:38894403/react.git
這樣每次連接都會使用id_rsa_me與服務器進行連接。
配置至此,大功告成!