SSH中Git免密码推送到GitHub私有储存库
本文最后更新于 163 天前,其中的信息可能已经有所发展或是发生改变。

缘由

由于版本管理的需要,我们使用了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”,请根据自己的实际情况修改

  1. 转到目录:cd /root/.ssh
  2. 创建id_rsa.pub和id_rsa文件,用您的私钥内容替换id_rsa
  3. 查看你的公钥(如图),将其替换到id_rsa.pub,并将您的公钥内容复制到authorized_keys
控制台

Step2.3 将公钥上传到GitHub

依次进入:官网-Settings-SSH and GPG keys,也可通过点击链接直接进入。点击“New SSH Key”,输入您的密钥标题和公钥内容,点击“Add SSH Key”即可

SSH and GPG keys设置
New 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方法对其进行克隆

使用SSH对储存库进行克隆

对于已经克隆到本地的储存库,你应该使用git remote set-url origin <你的SSH克隆链接>更新远端储存库链接

结语

此时,运行git push时你应该不再需要输入用户名和密码。欢迎关注我们的微信公众号 “Lime Network” 来获取更多关于动态。

上一篇
下一篇