使用ssh连接Git仓库(Github)

Posted kit-l

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ssh连接Git仓库(Github)相关的知识,希望对你有一定的参考价值。

参考资料:

  1. 《如何用SSH密钥连接到Git仓库和远程服务器》https://www.youtube.com/watch?v=yVgyAHBIyOQ&pbjreload=101
  2. https://help.github.com/en/github/using-git/which-remote-url-should-i-use#cloning-with-ssh-urls
  3. https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

在本机生成一个公钥和私钥对

Linux一般放在 ~/.ssh/,即用户的.ssh目录下。Windows一般放在用户目录下,如下:

技术图片

这个目录下有一个known_hosts文件,本用户曾经ssh连接过的主机的公钥都会保存在这里。

在命令行中使用ssh-keygen.exe工具来生成密钥对:

技术图片

生成过程中会让你指定生成位置,以及给它再设一个密码。我们使用默认位置,不再设定密码。也就是一路Enter就行。

技术图片

生成之后多了两个文件,显然第一个是私钥,第二个.pub是公钥。私钥在自己的设备上存着就可以,别人拿到你的公钥就可以验证你的身份。也可以用你的公钥签发一些数字证书。

查看一下生成的公钥:

技术图片

将生成的公钥添加到Github账户中

复制一下生成的公钥,从(包括)ssh-rsa到最后。最后的计算机名和它前面的空格不用复制,复制也可以。

登录Github,点右上角自己的头像,选择Settings,然后在新页面中的左侧边栏选择SSH and GPG Key。给这个ssh公钥起一个名字,然后把公钥复制进去。

技术图片

添加上之后就可以用本机SSH连接Github了。

技术图片

然后复制Clone地址的时候就可以选择Use SSH了。clone方法跟HTTPS的一样。

将本机中已经clone下的项目由HTTPS方式更改为SSH方式

在目标项目的目录中打开Git Bash终端,输入git remote -v可以查看remote仓库,发现都是https仓库。

技术图片

去Github中复制下该仓库的SSH URL,然后使用git remote set-url origin git@github.com:xxxxxx更新url。然后就可以用了。

如何免密码使用SSH连接服务器

在目标服务器的~/.ssh/目录下有一个authorized_keys文件,这个文件中的所有ssh公钥是可以无条件连接到这台服务器上的。把自己生成的公钥粘贴进去就可以了。

以上是关于使用ssh连接Git仓库(Github)的主要内容,如果未能解决你的问题,请参考以下文章

git提交代码到远程仓库github

git生成ssh公钥方法--远程连接github仓库

git仓库远程连接GitHub

GitHub远程仓库

Git与Github的连接与使用

创建git本地仓库和GitHub远程仓库并配置连接的从无到有