[ 问题描述 ]
1、Permission denied (publickey).
2、fatal: 无法读取远程仓库。
[ 解决方案 ]
1、生成公钥
将下面的nick_name@example.com
换成自己的邮箱地址即可(注意:需要和 Github / Gitee / Coding 注册邮箱一致)
ssh-keygen -t rsa -b 4096 -C "nick_name@example.com"
cat ~/.ssh/id_rsa.pub
2、部署公钥
复制生成后的 ssh key,添加生成的 public key 添加到仓库中。
不同的站点操作不一样,根据自己的情况从下面的表格中选择 1个 适合自己的情况,
按照表格中提示的路径打开网站添加公钥即可。
获取▼ | gitee.com | coding.net | github.com |
---|---|---|---|
所有仓库读写权限 | 「设置 」->「SSH公钥」->「添加公钥」 | 「账户 」->「 SSH 公钥」->「新增公钥」 | 「Settings 」->「 SSH and GPG keys」->「New SSH key」->「Add SSH key」 |
单个仓库只读权限 | 「仓库主页 」->「管理」->「部署公钥管理」->「添加部署公钥」 | 「设置 -> 部署公钥 -> 新建部署公钥」 | 「Settings 」->「 Deploy keys」->「Add deploy key」 |
查看是否部署成功 | ssh -T git@gitee.com | ssh -T git@git.coding.net | ssh -T git@github.com |
[ 补充说明 ]
用户可以设置账户 SSH 公钥,获所有仓库的读写权限; 也可以在项目设置里面设置项目部署公钥,获取单个项目仓库的只读权限。
添加公钥后,您就可以在项目的代码页面点击 SSH 切换到 SSH 协议的 clone 地址,类似这样:
git@git.coding.net:wzw/leave-a-message.git
使用 SSH 协议来访问 Git 仓库,不需要每次链接都输入账号和密码。