Git实现SSH免密push、pull到Github

我们使用git push/pull 到远程仓库(github、gitee)时,每次 push/pull 都会让输入用户名和密码。手动 push/pull 输入用户名和密码还可以接受,但如果想要实现自动提交数据呢?这时就需要通过免密的方式来完成 push/pull 操作。

操作环境

Linux ContOS7

生成SSH Key

首先检查下本机是否已经安装了SSH,在终端输入ssh即可:

Git实现SSH免密push、pull到Github_第1张图片

如果没有安装进行 yum 安装:

yum -y install openssh-clients

接下来就是生成RSA秘钥对:

ssh-keygen -b 4096 -t rsa -C "[email protected]"

Git实现SSH免密push、pull到Github_第2张图片

说明:

  • 输入命令后,敲下回车键,会提让你输入 生成的秘钥对保存的路径,如果使用默认的保存路径,直接敲回车;
  • 然后,需要让你输入口令保护,为空则没有口令保护,直接敲回车;
  • 然后是口令保护确认,如果上一步为空,这一步也直接敲回车;
  • 然后rsa秘钥对就生成了并显示生成路径。

在当前用户的根目录下打开.ssh文件夹就会看到两个文件,分别是:id_rsa.pub(公钥),id_rsa(私钥)。

查看密钥:

Git实现SSH免密push、pull到Github_第3张图片

配置SSH

然后去远程仓库(github、gitee)配置SSH,点击Settings:

Git实现SSH免密push、pull到Github_第4张图片

点击SSH and GPG keys -> New SSH key,输入密钥后点击Add SSH key,标题可为空。

Git实现SSH免密push、pull到Github_第5张图片

Git实现SSH免密push、pull到Github_第6张图片

Git实现SSH免密push、pull到Github_第7张图片

添加SSH Key之后可以输入命令进行测试,检查配置是否正确:

ssh -T [email protected]

设置全局变量

先cd到根目录,执行以下命令

git config --global credential.helper store

执行之后会创建.gitconfig文件,打开文件,修改以下内容:

[user]
        name = 名称
        email = [email protected]
[credential]
        helper = store

提交文件

初始化仓库

在指定要提交的目录下初始化仓库,建立新的仓库。

git init

初始化仓库后会建立 .git目录。通过一下命令提交文件或目录。

git add README.md
git commit -m "first commit"
git remote add origin [email protected]:xxxx/demo.git
git push -u origin master

拉取文件

拉取仓库文件:

git clone [email protected]:xxxxx/demo.git

你可能感兴趣的:(Linux,github,git,ssh,免密)