Git必知必会基础(05):本地Git与Gitee/GitHub服务器建立ssh方式通信及更新remote地址
本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html
前言
上一篇,通过https协议的远程仓库地址push代码,每次都需要输入远程仓库的账号、密码,这样很麻烦
本地 Git 与 Gitee 服务器之间可以通过ssh协议通信,使用 SSH key 认证方式来保证通信安全,push的时候就不用输入远程仓库的账号、密码。
从客户端获得 SSH 公钥
为了使客户端可以向 Git 服务器提供 SSH 公钥,首先要确认客户端拥有公钥。在本机上创建ssh-key密钥对,并把其中的公钥添加到gitee中。
SSH 的密钥存储在 ~/.ssh/ 目录下,~表示用户目录
la | grep .ssh
注意:如果写成 ls -a | grep ssh没有搜索结果
如果用户没有密钥文件,甚至连 .ssh 目录都没有,那么说明用户还没有创建 SSH 密钥,我们使用 ssh-keygen 命令可以为其生成密钥,命令为:ssh-keygen -t rsa -C "邮箱"
-t rsa 参数表示使用 RSA 算法
-C 参数指定用户的电子邮箱地址
ssh-keygen命令会询问用户密钥文件的存储路径以及密码等,如果不设置密码直接键入回车即可(回车三次)。
ssh-keygen -t rsa -C "168632201@qq.com"
la | grep .ssh,有搜索结果
密钥文件默认保存在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub
id_rsa(私钥) , id_rsa.pub(公钥)
查看公钥(记住千万不要把私钥文件 id_rsa 透露给任何人)
添加 SSH 公钥到 Gitee
点击“账号设置”
左侧点击“SSH公钥”
添加公钥
测试连接
ssh -T git@gitee.com(如果是github,ssh -T git@github.com)
-T后面的地址,要看你项目的ssh地址,比如我的是:git@gitee.com:qzcsbj/pytest_apiautotest.git,就复制冒号前面一段
更新本地git仓库的远程地址
查看当前地址:git remote -v
或者cat .git/config
当前是https协议远程地址,这里我们要改为ssh地址
更新远程地址的方式有两种:
第一种方式:
先删除之前的远程地址,git remote rm origin
再添加远程地址:git remote add origin git@gitee.com:qzcsbj/pytest_apiautotest.git
第二种方式:
可以不先删除,直接通过命令更新你本地 git 仓库的remote地址:git remote set-url origin git@gitee.com:qzcsbj/pytest_apiautotest.git,这里是要更改为ssh地址
注意:更新remote地址时,不会检查远程仓库是否存在,但是push的时候,如果不存在,会报错。
push到远程仓库
git push origin master
远程仓库可以看到push的内容
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!