上周因为公司反复停电,导致半年来写的代码丢了大半,心凉了半截。所以,吸取教训,希望使用github、gitee或者gitlab即使保存代码。但是,使用git工具,每次push时都需要输入账号密码,对于懒人来说,实在难受,其实,使用密钥进行验证,每次push的时候,就不需要反复输入密码了,具体步骤如何?
1. 创建密钥文件
ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]
其中:
- [KEY_FILENAME] 是您要用于 SSH 密钥文件的名称。例如,文件名 my-ssh-key 生成一个名为 my-ssh-key 的私钥文件和一个名为 my-ssh-key.pub 公钥文件(这里可以不要)。
- [USERNAME] 是您要为其应用此 SSH 密钥的用户。
2. 找到密钥文件
我们通过ssh-keygen工具再linux或者macOS,使用上面的命令创建的密钥,保存在一下位置:
- 公钥文件:~/.ssh/[KEY_FILENAME].pub
- 私钥文件:~/.ssh/[KEY_FILENAME]
3. 上传公钥
这里以gitee为例,其他平台类似,登陆上gitee后,找到SSH公钥的设置页面,把第二步中找到的公钥文件,复制粘贴添加进去即可。
image.png
4. 增加本机SSH使用的密钥文件
使用ssh进行验证时,公钥和私钥文件必须对应,二刚才上传的公钥文件和本机默认的私钥文件不是一套,所以需要让本机再ssh时使用刚才生成的私钥文件进行验证。
ssh-add ~/.ssh/[KEY_FILENAME]
5. 验证是否能够正常通过密钥访问git
这一步是验证,之前进行的步骤是否成功。
weipeiru@weipeiru:~$ ssh -T git@gitee.com
Hi scarleast! You've successfully authenticated, but GITEE.COM does not provide shell access.
出现上述提示,则说明验证正常。之后就可以正常使用git命令,访问个人的仓库了,不需要再反复输入密码了.
网友评论