-
公钥
很多服务器都是需要认证的,SHH 认证是其中的一种;
在客户端生成公钥,把生成的公钥添加到服务器,你以后连接服务器的时候就不用每次都输入用户名和密码了;
很多git服务器都是用ssh认证方式,你需要把你生成的公钥发送给代码仓库管理员,让他给你添加到服务器上,你就可以通过ssh自由地拉取和提交代码了。
-
SHH公钥
添加 SHH 公钥可以让你的电脑和码云通信的时候使用安全链接;【git 的remote 要使用 SHH地址】
注意: 为了便于在多个仓库下使用同一套公钥,避免重复的部署和管理,码云推出了可部署公钥功能,实现仓库间公钥公用;
-
HTTPS 和 SHH 的区别
任何人可以克隆gitee上 HTTPS的项目;
而SHH 的项目需要你是项目的拥有者或者管理员,且添加了SHH key。
https 的 url 在push 的时候是需要验证用户名和密码的;
shh在push的时候是不需要用户名的,如果配置 SHH key 的时候设置了密码则需要输入密码,否则不需要输入密码。
-
添加SHH公钥 到码云的步骤:
- 【设置】---【安全设置】---【SHH公钥】
- 检查电脑是否有 SHH key:
- 依次运行 cd ~/.shh 和 ls
- 上面两个命令查看是否存在 id_rsa 和 id_rsa.pub; 若没有则执行下面生成公钥。
- 生成 SHH 公钥:
- 运行命令:ssh-keygen -t rsa -C 'your_email@example.com' ;【邮箱仅仅是识别用的key,你可以输入任何内容作为 注释!】
- -t 指定密钥类型,默认是 rsa ,可以省略。
- -C 设置注释文字,比如邮箱。
- -f 指定密钥文件存储文件名。
- 以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码。
- 完成三次回车,生成 shh key ;【C:Usersicss.ssh下面多了一个 id_rsa.pub 文件】
- 直接打开文件复制 或者 直接执行命令 cat ~/.ssh/id_rsa.pub
- 运行命令:ssh-keygen -t rsa -C 'your_email@example.com' ;【邮箱仅仅是识别用的key,你可以输入任何内容作为 注释!】
- 在码云中,设置标题,添加公钥;
- 运行命令: ssh -T git@gitee.com ,输入yes ;
- 返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。
- 添加成功之后就可以 SHH 协议对仓库进行操作了。