前几天公司的代码库全部迁移到了阿里云上,在配置git的ssh key的时候遇到了一个问题,那就是自己的密钥在添加时提示已经存在,原来是自己的阿里云code账号上已经添加过这个密钥了,公司分配的阿里云code账号就不能再添加这个了。
需要在一个电脑上生成两个ssh key实现认证。
一、生成ssh key
ssh-keygen -t rsa -C "你的邮箱账号" -f id_rsa_company
-f
后面跟的就是生成的密钥的名称
会提示输入密码,直接回车不设置密码(设置后每次和git交互时都需要输入密码);成功后会在当前文件夹下生成2个文件,其中 .pub
文件就是待会放置到阿里云的公钥。然后将生成的2个文件放到.ssh
目录下。
二、配置密钥位置
在 .ssh
目录中创建一个名为config
文件,在里面添加相关配置;下面这个是我的配置:
# github
Host github.com
HostName github.com
RSAAuthentication yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
# 阿里云-个人账号
Host code.aliyun.com
HostName code.aliyun.com
RSAAuthentication yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_aliyun
# 阿里云-公司账号
Host company
HostName code.aliyun.com
RSAAuthentication yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_company
配置说明:
Host 映射名称(在下载代码时需要将实际的)
HostName git服务器的实际域名
RSAAuthentication yes
PreferredAuthentications publickey
IdentityFile 私钥文件地址
Host 映射名称说明:在下载代码时需要将git服务器的实际域名改为这个映射名称。
比如代码厂库地址为:
git@code.aliyun.com:demo/demo.git
;在我们克隆代码时需要将地址改为git@company:demo/demo.git
才可以正常获取代码。