Git使用ssh密钥
说明
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,***!
恭喜你,你的设置已经成功了