说明

git支持https和git两种传输协议,github分享链接时会有两种协议可选,如果使用https协议,每次pull, push都会提示要输入密码,如果使用git协议,然后使用ssh密钥,这样免去每次都输密码的麻烦。

方法

Git服务器都会选择使用SSH公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。

1.生成密钥对

$ cd ~/.ssh
$ ls
id_rsa known_hosts id_rsa.pub
# 查看一下是否有id_rsa和id_rsa.pub(或者名称相同之类成对的文件),.pub 后缀的文件就是公钥,另一个文件则是密钥。

如果没有对应的文件,可以用ssh-keygen来创建

$ ssh-keygen -t rsa -C "your_email@youremail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/用户名/.ssh/id_rsa):
#这边可以直接按Enter或者输入你要命名的文件名称

然后,会提示你输入密码,如下:

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
# 建议输一个,安全一点,当然不输也行

设置好之后,如下

Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.

到此为止,你本地的密钥对就生成了。

2.将SSH Key添加到ssh-agent

$ ssh-agent -s
$ ssh-add ~/.ssh/id_rsa
Identity added: /Users/用户名/.ssh/mayun (/Users/用户名/.ssh/id_rsa)
#如果新增的文件名称自定义 则这边id_rsa需要改成自定义的名称

3.添加公钥到你的远程仓库(如github)

  • 查看你生成的公钥:
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAtQ24lCDDtfqGx1k6SzXGiMaFC1yc2EAAAADAQABAAABAQCvv5eOTiFwkvoZtkotddOCo+uMGFrfkMssUbyRRYnYmp2l6hO8cZsrsQm0hwoZvpneCk6VB5G6CK+ULG5kwlKfTcdzQOEPy4WkRE8jhRhtR5QLZiqWN20dxTAXismXHYv7wQAbRcfuM7Z+RQvwBj46B3NzaRIxJsIZV4sVVq66rILGvcrbxH2wASLvnFoJhb43/29BxXGBxLPBC7Z5ej2+5T13JKj4+drDaluwoZSA1FMG0trq6OZwHdN+/isxgwrF8UpZOvtPq0GnRYjXG0GYI2xuUhpmxF37BfkB9KDE1lZ035zDNWJJf7OBaPQJ7kfJR your_email@youremail.com
  • 登陆你的github帐户,在Settings找到SSH and GPG keys选项,然后New SSH key
  • 接着复制上面的公钥内容,粘贴进“Key”文本域内,title随意命名
  • 点击 Add key

4 验证下新增的key是否有生效

$ ssh -T git@github.com

如果看到如下

Welcome to GitLab,***!

恭喜你,你的设置已经成功了

版权声明:本文为paul666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/paul666/p/11419651.html