[ 问题描述 ]
1、Permission denied (publickey).
2、fatal: 无法读取远程仓库。
[ 解决方案 ]
1、生成公钥
# ssh-keygen -t rsa -b 4096 -C "zhyantao@126.com"
# cat ~/.ssh/id_rsa.pub
2、部署公钥
复制上面的公钥信息,不同的站点操作不一样,对应选择自己的情况,最后添加公钥即可。
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 仓库,不需要每次链接都输入账号和密码。