生成 sshkey

在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。

你可以按如下命令来生成 sshkey:

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
# Generating public/private rsa key pair...

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。 现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

virhuiai % ssh-keygen -t rsa -C "xxxxx@xxxxx.com"    
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/virhuiaivirhuiai/.ssh/id_rsa): 
/Users/virhuiaivirhuiai/.ssh/id_rsa already exists.
Overwrite (y/n)? n

由于之前配置了GitHub的,后面还要重新设置下。这儿生成的命令后面配置改下:

Enter file in which to save the key (/Users/virhuiaivirhuiai/.ssh/id_rsa): /Users/virhuiaivirhuiai/.ssh/id_rsa_gitee

按照提示完成三次回车,即可生成 ssh key。

Your identification has been saved in /Users/virhuiaivirhuiai/.ssh/id_rsa_gitee.
Your public key has been saved in /Users/virhuiaivirhuiai/.ssh/id_rsa_gitee.pub.

通过查看 ~/.ssh/id_rsa_gitee.pub 文件内容,获取到你的 public key:

cat ~/.ssh/id_rsa_gitee.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

多个id_rsa 配置

因为 需要配置 ssh 免密码登录+ github ssh ,所以会导致 .ssh 目录下的id_rsa 存在覆盖的问题。

上面我们将配置改成id_rsa_gitee,相应的在.ssh要设置下config文件:

vim ~/.ssh/config
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

# gitee
Host gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee

复制ssh key到Gitee

通过查看 ~/.ssh/id_rsa_gitee.pub 文件内容,获取到你的 public key:

cat ~/.ssh/id_rsa_gitee.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。

image-20210227001059046

还会弹出帐号验证:

image-20210227001145904

将本地已经仓库推送

cd existing_git_repo
git remote add origin git@gitee.com:virhuiai/program-ape.git
git push -u origin master

image-20210227001303718

这边命令基础的可以到这边看:

image-20210227001358935

创建仓库完成后都会有这样的简易说明,更详细的可以到相应的链接去看。