本文最后更新于 165 天前,其中的信息可能已经有所发展或是发生改变。
缘由
由于版本管理的需要,我们使用了Git+GitHub,但每次将内容推送到私有储存库都需要输入账户名密码,十分麻烦,由此萌生了CentOS下Git免密推送内容的想法
Step1 安装最新版Git
如果在CentOS中直接运行yum install git
,得到的并不是最新版的Git,所以,我们应该使用WANDisco的软件源,在终端中依次运行如下命令,这样,你就应该安装了最新版的Git
yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
yum install git
Step2 生成并配置SSH密钥
Step2.1 生成SSH密钥
为了简便操作,我们使用腾讯云的密钥服务。依次进入:官网-控制台-云服务器-SSH密钥,也可通过链接直接访问。点击“创建密钥(创建新密钥对)”,按照自己的资料填写并下载保存私钥
Step2.2 在服务器上配置SSH密钥
在本文中,我们假令您的用户名为“root”,请根据自己的实际情况修改
- 转到目录:
cd /root/.ssh
; - 创建id_rsa.pub和id_rsa文件,用您的私钥内容替换id_rsa
- 查看你的公钥(如图),将其替换到id_rsa.pub,并将您的公钥内容复制到authorized_keys
Step2.3 将公钥上传到GitHub
依次进入:官网-Settings-SSH and GPG keys,也可通过点击链接直接进入。点击“New SSH Key”,输入您的密钥标题和公钥内容,点击“Add SSH Key”即可
Step2.4 测试服务器到GitHub的连通性和密钥的配置合法性
登录终端,输入ssh -T [email protected]
这时,你应该看见提示语“Hi <你的用户名>! You’ve successfully authenticated, but GitHub does not provide shell access.”,这代表你正确的配置了SSH key
Step3 更改现有储存库的远端链接
对于新储存库,你应该使用SSH方法对其进行克隆
对于已经克隆到本地的储存库,你应该使用git remote set-url origin <你的SSH克隆链接>
更新远端储存库链接
结语
此时,运行git push
时你应该不再需要输入用户名和密码。欢迎关注我们的微信公众号 “Lime Network” 来获取更多关于动态,如果喜欢,可以通过页面下方的赞赏码支持我