ssh-key 与 git账户配置以及多账户配置
来源:互联网 发布:java 获取字符串下标 编辑:程序博客网 时间:2024/05/21 19:00
单用户情况:
ssh-add id_rsa
如果出现Could not open a connection to your authentication agent的错误,就试着先用以下命令:
ssh-agent bash
ssh-add id_rsa
添加完之后 登陆Github 点击 网页右上侧的 Account Setting 按钮 - 选择 ssh-keys 点击Add SSH Key ,在title中输入名字,然后将公约即id_rsa.pub添加到ssh-key处。
在git bash的命令行中输入
ssh -T git@github.com 如果能正常访问即可
$ ssh -T git@github.com
Enter passphrase
for
key
'C:/Users/kunkun/.ssh/github.rsa'
:
Hi kunkun01! You've successfully authenticated, but GitHub does not provide shel
l access.
多账户又分为两种情况
也可以参考老外写的 Git config for mutiply SSH keys
1、针对同一个服务器的同用户(比如 我平时开发开源的小东东,有的是一个账号是公司的账号对外开源项目用的,另外我自己也比较崇尚开源,所以自己也有了Github账号)
2,针对不同服务器的用户(现在pass平台 部署应用都是通过git来管理的,比如常见的Openshift,Heroku appfog等,在这里我也注册了账号)
在我们访问git服务器的时候,如果通过ssh的方式话,访问不同的服务器要使用不同的ssh-key。经过在第一步的过程中,在创建ssh-key的默认命名为id_rsa,如果使用不同的账户的,必须得给不同的key设置不同的名字,否则如果继续使用默认名字的话,会把之前的id_rsa覆盖掉。
具体操作如下 user2是我的另外一个Github账户
1、新建user2的SSH Key
#新建SSH key:
$ cd ~/.ssh
# 切换到C:\Users\Administrator\.ssh
ssh-keygen -t rsa -C
"mywork@email.com"
# 新建工作的SSH key
# 设置名称为id_rsa_work
Enter file
in
which to save the key (/c/Users/Administrator/.ssh/id_rsa): id_rsa_work
2、新密钥添加到SSH agent中
因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:
ssh-add ~/.ssh/id_rsa_work
如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:
ssh-agent bashssh-add ~/.ssh/id_rsa_work
(第二步 好像没什么作用)
3、修改config文件 将账户以及git服务器与对应的密钥关联。在~/.ssh目录下找到config文件,如果没有就创建:
touch config
然后修改如下: 我的config配置如下:
# 该文件用于配置私钥对应的服务器# Default github user(first@mail.com)Host github.com HostName github.com User git IdentityFile C:/Users/Administrator/.ssh/id_rsa # second user(second@mail.com) # 建一个github别名,新建的帐号使用这个别名做克隆和更新Host github2 HostName github.com User git IdentityFile C:/Users/Administrator/.ssh/id_rsa_work
其规则就是:从上至下读取config的内容,在每个Host下寻找对应的私钥。这里将GitHub SSH仓库地址中的git@github.com替换成新建的Host别名如:github2,那么原地址是:git@github.com:funpeng/Mywork.git,替换后应该是:github2:funpeng/Mywork.git.
4、用记事本打开新生成的~/.ssh/id_rsa2.pub文件,将里面的内容添加到GitHub后台。
可不要忘了添加到你的另一个github帐号下的SSH Key中。
5、测试:
$ ssh -T git@github.com
Hi BeginMan! You've successfully authenticated, but GitHub does not provide shel
l access.
$ ssh -T github2 Hi kunkun01! You've successfully authenticated, but GitHub does not provide shell access.
6、应用
测试成功,那么我尝试在我的work目录下克隆我@126.com账号下的远程仓库。如下:
$ git clone github2:kunkun01/Mywork.git
Cloning into
'Mywork'
...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
Checking connectivity... done
如果你只是通过这篇文章中所述配置了Host,那么你多个账号下面的提交用户会是一个人,所以需要通过命令git config --global --unset user.email
删除用户账户设置,在每一个repo下面使用git config --local user.email '你的github邮箱@mail.com'
命令单独设置用户账户信息
- ssh-key 与 git账户配置以及多账户配置
- Git配置 多账户SSH KEY
- 【Git学习】SSH key 和 Git 多账户配置
- Git多账户SSH配置
- git ssh 配置多个账户
- git多账户配置
- git多账户配置
- github多个账户配置ssh key使用
- git ssh配置多个账户 | 指定私钥登入
- Linux同一个账户配置多个SSH账户
- 多 SSH Key 管理技巧与 Git 多账户登录问题
- 一个客户端配置多个Git账户
- git多账户使用及配置
- git配置多个账户登录
- 关于git 账户配置以及代码克隆的部分总结
- GIT配置SSH key
- git 在一台机器上配置多个账户
- git的多账户公钥配置简略
- Reverse Linked List II
- Trips and Users ---刷完database 留念
- iOS网络监控— BMReachability
- C++实现KMP模式匹配算法
- Linux Shell 编程实战技巧
- ssh-key 与 git账户配置以及多账户配置
- 黑马程序员=====GUI
- 断点续传---多线程下载进阶(三)
- iOS系统和XCode各版本发布日期
- HTML5 drag的使用案例 --- 类似于图片墙
- FatMouse's Speed
- js: 实现Select的option上下移动
- Timber
- 黑马程序员03数组排序与二分法查找