这篇文章的背景: ERROR: Permission to Lucky/UICategory.git denied to Luckyp. 问题意思说: 个人账号中的仓库git push代码被公司账号拒了...
1. 打开.ssh文件夹,查看当前ssh key配置状态
open ~/.ssh
.ssh是个隐藏文件夹, 在user路径下
点击文件夹可以看到, 存在三个文件; id_rsa, id_rsa.pub, known_hosts; 这是你已经配置好的github账号私钥, 公钥, 已知域名, 在pub文件中可以看到存在的账号
这个ssh-rsa 是与你的github账户邮箱绑定的
image.png2.为个人帐号或者公司帐号生成ssh key
使用邮箱通过命令生成ssh key
ssh-keygen -t rsa -C "email"
回车出现:
Enter file in which to save the key (/Users/HandScape/.ssh/id_rsa):
这里需要输入即将生成的 ssh key文件名 例: id_rsa_perssonal
如果不写会默认为 id_rsa, 会覆盖之前的ssh key
输入完名称后回车:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
是否设置密码, 直接回车即可
此时可以看到 .ssh 文件夹中多了两个文件
3.添加config配置文件
在终端 .ssh路径下创建并配置 config文件,输入命令
vi config
回车进入编辑页面
#配置公司工作邮箱(公司工作邮箱)
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa #路径一定要对, 指向.ssh文件夹中的id_rsa
#配置个人帐号邮箱(***@qq.com)
Host ***
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_perssonal #路径一定要对, 指向.ssh文件夹中的id_rsa_perssonal
其中Host\HostName\User 选择默认的即可,IdentityFile 指向对应的秘钥文件
编辑完后点击 esc结束编辑, 输入 :wq 保存并退出 (对vim命令不熟悉的可直接将config文件拖入xcode编辑)
4.启动ssh-agent环境并添加生成的ssh keys
- 启动ssh-agent环境,在terminnal中输入命令:
eval "$(ssh-agent -s)"
开启成功
- 逐个添加生成的ssh keys 到ssh-agent中,在terminnal中输入命令:
ssh-add -K ~/.ssh/id_rsa
Identity added: /Users/aaa/.ssh/id_rsa (/Users/aaa/.ssh/id_rsa)
说明添加成功
ssh-add -K ~/.ssh/id_rsa_perssonal
Identity added: /Users/aaa/.ssh/id_rsa_perssonal (/Users/aaa/.ssh/id_rsa_perssonal)
5.测试配置
检查之前配置是否正确:
测试个人帐号配置:
ssh -T git@github.com
测试公司帐号配置:
ssh -T git@github.***.com #公司企业github
配置成功: Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
6.提交自己项目
提交成功
image.png感谢: https://blog.csdn.net/yezhuandroid/article/details/81750331
网友评论