Git使用ssh公钥

Git使用ssh公钥

一.  何谓公钥

  • 1.很多服务器都是需要认证的,ssh认证是其中的一种。在客户端生成公钥,把生成的公钥添加到服务器,你以后连接服务器就不用每次都输入用户名和密码了。
  • 2.很多git服务器都是用ssh认证方式,你需要把你生成的公钥发送给代码仓库管理员,让他给你添加到服务器上,你就可以通过ssh自由地拉取和提交代码了,无需在每次访问时提供用户名或密码。

二. 生成ssh

1. 生成新的SSH key:(引号内的邮箱替换成你们自己的邮箱)。

ssh-keygen -t rsa -C "3133309264@qq.com"

运行后的结果: 如果输入了密码那么每次push/pull会都要密码

$ ssh-keygen -t rsa -C "3133309264@qq.com"
Generating public/private rsa key pair. 
Enter file in which to save the key 
(当前命令行开启的路径创建/.ssh/id_rsa): // 按回车键 
Enter passphrase (empty for no passphrase): //此处回车不需要输入密码
Enter same passphrase again: //再次回车

2. 在当前命令行开启的路径文件目录下会得到 id_rsa和 id_rsa.pub两个文件,id_rsa.pub文件里存放的就是我们要使用的key.

三. GitHub使用ssh

1. 上传key到github:

1.打开id_rsa.pub,ctrl+A全选,复制key到剪贴板
2.登录到github
3.点击右上方的头像,选择settings
4.选择SSH key选项
5.点击Add SSH key,把剪贴板的内容复制到里面,确定即可

2. 测试是否配置成功

ssh -T git@github.com

3. 配置成功标志

The authenticity of host 'github.com (13.250.177.223)' can't be established.
RSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? //输入yes
Warning: Permanently added 'github.com,13.250.177.223' (RSA) to the list of known hosts.
Enter passphrase for key '当前ssh文件路径/.ssh/id_rsa': // 输入密码
Enter passphrase for key '当前ssh文件路径/.ssh/id_rsa': // 确认密码

// 出现下面语句表示验证配置成功
Hi 用户名! You've successfully authenticated, but GitHub does not provide shell access.

四. 码云使用ssh

1. 上传key到码云:

1.打开id_rsa.pub,ctrl+A全选,复制key到剪贴板
2.登录到码云
3.点击右上方的头像,选择设置
4.选择SSH公钥选项
5.输入标题,把剪贴板的公钥内容复制到里面,确定即可

2. 测试是否配置成功

ssh -T git@gitee.com

五. TortoiseGit使用ssh

注:如果本地还有提交地址是https的要改成ssh形式地址,直接改对应项目git下的config文件地址就好

作者:dlm17
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/dlm17/p/12486474.html