一、生成密钥对
二、设置远程仓库上的公钥
三、把git的 remote url 修改为git协议(以上两个步骤初次设置过以后,以后使用都不需要再次设置,此步骤视以后项目的remote url而定,如果以后其他项目的协议为https则需要此步骤)
一、生成密钥对
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。首先你要确认一下本机是否已经有一个公钥。
SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts config id_dsa.pub
看一下有没有id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
假如没有这些文件,甚至连 .ssh 目录都没有,可以用 ssh-keygen 来创建。该程序在 Linux/Mac 系统上由 SSH 包提供,而在 Windows 上则包含在 MSysGit 包里:
$ ssh-keygen -t rsa -C "your_email@youremail.com"
Creates a new ssh key using the provided email # Generating public/private rsa key pair.
Enter file in which to save the key (/home/you/.ssh/id_rsa):
直接按Enter就行(当然也可以自定义名字,如果输入名字了后面会有个坑)。然后,会提示你输入密码:
Enter same passphrase again: [Type passphrase again]
如果生成的一对文件的名字不是id_rsa,那么接下来这样做
$ eval `ssh-agent -s`
Agent pid 9214
$ ssh-add ~/.ssh/qiphon
Enter passphrase for /c/Users/Administrator/.ssh/qiphon:(密码)
成功的标识
Identity added: /c/Users/Administrator/.ssh/qiphon (/c/Users/Administrator/.ssh/qiphon)
完了之后,大概是这样:
$ ssh-keygen -t rsa -C "13223394160@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): qiphon
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in qiphon.
Your public key has been saved in qiphon.pub.
The key fingerprint is:
SHA256:TMtP5Zc0c+X/TcoNLSHCS0mHcYffjgHk 132***160@**.com
The key's randomart image is:
本地的密钥对就生成了。
二、添加公钥到你的远程仓库
登陆代码仓库,把公钥复制,保存在制定位置就好了
检查公钥是否添加成功
github的如下
$ ssh -T git@github.com
Attempts to ssh to github
码云的如下
$ ssh -T git@gitee.com
The authenticity of host 'gitee.com (218.11.0.86)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitee.com,218.11.0.86' (ECDSA) to the list of known hosts.
Welcome to Gitee.com, qiphon!
三、修改git的remote url
使用命令 git remote -v 查看你当前的 remote url
$ git remote -v
origin https://github.com/someaccount/someproject.git (fetch)
origin https://github.com/someaccount/someproject.git (push)
在代码仓库找到ssh链接
复制此ssh链接,然后使用命令 git remote set-url 来调整你的url。
git remote set-url origin git@github.com:someaccount/someproject.git
//码云第一次连接
git remote add origin git@gitee.com:qiphon/music-thumb.git
git push -u origin master
然后你可以再用命令 git remote -v 查看一下,url是否已经变成了ssh地址。
然后你就可以愉快的使用git fetch, git pull , git push,再也不用输入烦人的密码了