设为首页 收藏本站
查看: 898|回复: 0

[经验分享] Mac下一台电脑管理多个SSH KEY(转)

[复制链接]

尚未签到

发表于 2017-7-7 15:50:36 | 显示全部楼层 |阅读模式
一、关于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.pub
2)设置ssh key的代理
  1、 首先查看代理



ssh-add -l
  若提示



Could not open a connection to your authentication agent.
  则系统代理里没有任何key,执行如下操作



exec ssh-agent bash
  若系统已经有ssh-key 代理 ,可以删除



ssh-add -D
  2、 添加私钥



ssh-add ~/.ssh/id_rsa_gerrit
ssh-add ~/.ssh/id_rsa_github
  3、添加公钥
  在对应的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.com
  2.更改提交



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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-391307-1-1.html 上篇帖子: inux网卡与MAC地址绑定方法总结 下篇帖子: 【转】Mac 10.10 yosemite 安装samba替代系统samba组件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表