gitee / github 配置git, 实现免密码登录
选择http和ssh等不同协议的下载方式,如果是linux,不想输入密码的话,建议 ssh;.pub结尾的文件,里面存放的是公钥,将公钥文件复制粘贴到gitee或者github进行配置;Q: 为什么git 已经配置成功了,下载和上传文件还是要输入用户名和密码?
文章目录
怎么配置公钥和私钥
以下内容参考自 github ssh 配置,gitee的配置也是一样的;
粘贴以下文本,将示例中使用的电子邮件替换为 GitHub 电子邮件地址。
ssh-keygen -t ed25519 -C "your_email@example.com"
注意:如果你使用的是不支持 Ed25519 算法的旧系统,请使用以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这将以提供的电子邮件地址为标签创建新 SSH 密钥。
Generating public/private ALGORITHM key pair.
以下是一个错误的写法 ❌:
错误的写法:
ssh-keygen -t rsa -C “cocoli@qq.com”
这样git会配置失败的;
遇到选项敲回车跳过就行;
修改 ~/config
Host github.com
Hostname ssh.github.com
Port 443
IdentityFile ~/.ssh/id_ed25519
密钥会默认保存在 /root/.ssh 文件夹下里面有一个*.pub 结尾的文件,里面存放的是公钥,将公钥文件复制粘贴到gitee或者github进行配置;
验证配置成功
ssh -T git@gitee.com
如果显示端口被关闭,可以尝试关闭 V P N, 再重新尝试
然后输入: yes
得到下图所示的结果,就是配置成功了;
TIPS:
有一个小技巧,上述相同的公钥,可以同时在gitee和github进行配置,这个是可以的;
在github也添加公钥之后,试试
ssh -T git@github.com
问题
Q: 为什么,git 已经配置成功了,下载和上传文件还是要输入用户名和密码?
可以在github或者gitee,选择http和ssh等不同协议的下载方式,如果是linux,不想输入密码的话,建议 ssh;
这是因为你使用的是 http,要输入账号和密码的;

如下图所示,git 使用 ssh,则无需账号和密码:
ssh -T 连通失败
发现 ping github 是能通的,这说明与 github 的网络链接没有问题。在github 上也已经对密钥授权了,但 ssh -T 显示 port 22: Connection refused。
使用 -vT 可以 debug 输出中间信息。
ssh -vT git@github.com
输出如下:
C:\Users\1>ssh -vT git@github.com
OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2
debug1: Connecting to github.com [127.0.0.1] port 22.
debug1: connect to address 127.0.0.1 port 22: Connection refused
ssh: connect to host github.com port 22: Connection refused
参考资料
- github 官方文档: 生成新的 SSH 密钥并将其添加到 ssh-agent
更多推荐
所有评论(0)