老司机一般都不只有一个github账号,多个账号同一台电脑部署代码 如果使用同一个公钥肯定是不行的,会报权限拒绝,那么如果解决这个问题呢
首先
生成一个新的sshkey
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/名字(如abc)
此时 在.ssh目录下会生成一个abc.pub和abc (.ssh目录一般位于C:\Users\windows.ssh)
第二步 添加config配置文件
在.ssh目录下进行config文件的配置(如果没有就新建一个,不用后缀名)
以下是config文件的内容(直接拷贝的话 记得把注释去掉)
# 这个是原来的key
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id-rsa
# 这个是新加的key
# github_2
Host github_1.com (此处的host名是自己取的,你也可以自己改)
HostName github.com (gitlab的话写gitlab.com?)
PreferredAuthentications publickey
IdentityFile ~/.ssh/abc (这是你的key的路径名)
第三步 将新生成的密钥添加到SSH agent中
因为系统默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:
ssh-add ~/.ssh/abc
如果出现Could not open a connection to your authentication agent
的错误,就试着用以下命令:
ssh-agent bash
ssh-add ~/.ssh/abc
第四步 在你需要连接的github的settings里配置sshkey
将新生成的公钥(.pub后缀)复制过去
第五步 修改克隆或者关联远程仓库的地址(关键)
平常咱们关联远程仓库代码是这样的
git remote add origin git@github.com:name/project.git
如果你想关联新github账户的仓库 需要改成
git remote add origin git@github_1.com:name/project.git
只要把github域名改成config中配置的就行
到此,就完事了
技术微信公众号:infree6 或者直接扫码