Mac下一台电脑管理多个SSH KEY(转)
一、關于ssh是什么?
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
二、需求:
一臺電腦上(Mac os)管理多個ssh key,可以任意切換,達到多用戶(賬號)使用不同ssh提交代碼。
以下利用gerrit和github賬號來做例子。
1)生成ssh key
ssh-keygen -t rsa -C "youremail@yourcompany.com"若一路回車(密碼可以不寫),這樣只會在~/.ssh/ 目錄下生成 id_rsa 和 id_rsa.pub 兩個文件。為了區分,我們在第一個回車后設置路徑:
Enter file in which to save the key (/root/.ssh/id_rsa):~/.ssh/文件名由此我們分別為gerrit和github生成對應的公鑰和私鑰,完成后的目錄:
id_rsa_gerrit id_rsa_gerrit.pub id_rsa_github id_rsa_github.pub2)設置ssh key的代理
1、 首先查看代理
ssh-add -l若提示
Could not open a connection to your authentication agent.則系統代理里沒有任何key,執行如下操作
exec ssh-agent bash若系統已經有ssh-key 代理 ,可以刪除
ssh-add -D2、 添加私鑰
ssh-add ~/.ssh/id_rsa_gerrit ssh-add ~/.ssh/id_rsa_github3、添加公鑰
在對應的gerrit和github的ssh管理頁面,添加對應的公鑰(.pub 文件內容),保存到代碼管理服務器。
4、添加和編輯配置文件config
在 ~/.ssh 目錄下新建一個config文件
touch ~/.ssh/config添加內容
# gerrit Host gerrit.xxxx.com HostName gerrit.xxxx.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_gerrit user gerrit # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_github user git當然也可以利用nano命令來創建和編輯
nano ~/.ssh/config如此,ssh就會根據登陸的不同域,來讀取對應的私鑰文件
5、測試
ssh -T git@github.com若出現
Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.則表示成功。
若出現
permission denied (publickey)請檢查github的ssh管理里添加的公鑰是否正確。
6、其他
提交代碼到gerrit失敗,報錯為
remote: ERROR: In commit xxxxxxxxxxxxxxxxxxxxxxxx remote: ERROR: committer email address aaaaa@aaa.com remote: ERROR: does not match your user account. remote: ERROR: remote: ERROR: The following addresses are currently registered: remote: ERROR: bbbbbbb@bbbbbb.com remote: ERROR: remote: ERROR: To register an email address, please visit: remote: ERROR: http://xxxx/xxxx此報錯并非你之前設置管理多個ssh出現問題,而是因為你當前git用戶信息和你提交代碼的服務器注冊的用戶信息不一致,即服務器檢查了你的用戶信息,進行了拒絕。
解決方法如下:
1.編輯.gitconfig
打開~/.gitconfig文件 將原來的 name = aaaaa email = aaaaa@aaa.com 改成你當前的 name = bbbbb email = bbbbb@ bbb.com2.更改提交
git commit --amend --author 'bbbbb <bbbbb@ bbb.com>'當然你也可以這樣重新提交
git reset HEAD^ git add -A git commit -m “xxxx”轉自:http://blog.csdn.net/wwmusic/article/details/51027458
==>如有問題,請聯系我:easonjim#163.com,或者下方發表評論。<==總結
以上是生活随笔為你收集整理的Mac下一台电脑管理多个SSH KEY(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生产环境elasticsearch5.0
- 下一篇: C#23种开发模式,陆续完善中