强调:SSH公钥是每个项目一个,还是只需要一个,以后码云上创建的项目都可以用?
是的,只要一个公钥,点击对应项目中的ssh链接,即可直接下载哦!
番外:ssh 公钥的配置
-
检查本机是否已经存在ssh key配置
cd ~/.ssh/
若没有该文件夹,则会提示No such file or directory,则表明无此配置。
若有该文件夹,会进入到文件夹中,此时使用ls查看文件夹内容。
ls
之后重新配置,则删除掉已有的文件
生成SSH key
-
1. 配置全局的用户名和邮箱
git config --global user.name '仓库的账号名'
git config --global user.email '绑定的邮箱'
-
2. 使用命令生成公钥私钥:
ssh-keygen -t rsa -C "cocoli@qq.com"
这时会出现如图粉色框选部分的提示:
当出现Enter file in which to save the key时,直接敲回车即可。
注意:该句询问的是你是否要将生成的密钥存入名为id_rsa的文件中。
敲回车的话相当于使用默认名称id_rsa。
此处也可以输入自定义名称,输入完毕后敲回车即可。
当出现Enter passphrase (empty for no passphrase)时,直接敲回车即可。
注意:该句是询问你是否要设置密码,该密码允许为空。所以不设置的话直接敲回车即可。
当出现Enter same passphrase again时,直接敲回车即可。
注意:该句是提示你输入之前设置得相同得密码,若之前设置了密码,则该处需要填写相同的密码;若之前未设置密码,此处直接敲回车即可。
上述操作完毕后,若出现如图中绿色框选提示及框选下方得提示,表示已生成ssh key。
执行完成后,出现如下画面即为生成密钥成功:
同时,在~/.ssh/目录下会生成2个文件:id_rsa和id_rsa.pub ,如图所示:
若在生成过程中,若出现如下图提示的话,请看后续解决方案:
若电脑之前已经配置了ssh key的话,且存储公钥、私钥的文件名称也是默认的id_rsa命名的。当你在生成ssh key,出现Enter file in which to save the key提示是否需要修改存储公钥私钥文件名称时,若使用的是默认的文件名称id_rsa的话,会出现如下提示:/c/User/Administrator/.ssh/id_rsa already exists Overwrite(y/n)?
表示该文件已存在,是否覆盖。
针对这种情况有3种解决方案:
1)在生成ssh key提示Enter file in which to save the key时,不使用默认生成的文件名称id_rsa。如图:
框选的部分便是自己设置的文件命名,同时生成ssh key后,我们在~/.ssh/目录下ls查看一下内容,可以看到有xuzhangzheng@ljldata和xuzhangzheng@ljldata.pub两个文件,即为公钥和私钥。
2)进入~/.ssh/文件夹中,执行rm 文件名命令,删除指定文件后即可再生成存储公钥和私钥文件。如图:便没有提示是否需要重写覆盖已存在文件的选项。
3)在提示/c/User/Administrator/.ssh/id_rsa already exists Overwrite(y/n)?输入y,选择重写之前的文件。如图:
重写后使用ls在~/.ssh/查看内容 : cd ~/.ssh 到这里公钥和私钥都配置完毕了!!!
使用SSH Key
-
使用命令启动ssh-agent环境:
eval $(ssh-agent -s) --- 这个命令记得创建成功后一定要执行,否则无效
输入完成后,有如图显示agent的进程号提示显示即为正确:
- 使用命令添加你生成的私钥到ssh-agent中:
ssh-add ~/.ssh/私钥文件名称 (这个命令可以平时用不到,可以不用管这一块,上面的足够用了)
执行命令后,出现如图所示描述即为成功:
添加私钥时,默认的私钥文件名称是id_rsa。
若在生成公钥私钥的时候,自定义了文件名(如上面提到的),此处的私钥文件名称就是自定义的文件名称。
若执行命令时出现如下图错误,则需要先执行第一步启动ssh-agent环境
添加公钥到码云上(.pub结尾的文件内容复制到服务器上即可)
-
使用命令打开公钥文件
使用命令方式:less ~/.ssh/公钥文件
公钥文件为.pub结尾的文件。
打开后如图:
公钥内容复制到下图的公钥框中:
-
测试是否成功,克隆一个项目到本地
-
提示输入密码,即账号登录密码