使用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一般放在用户目录下,如下:

UTOOLS1592985038486.png

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

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

UTOOLS1592985357601.png

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

UTOOLS1592985523518.png

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

查看一下生成的公钥:

UTOOLS1592986173615.png

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

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

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

UTOOLS1592986610134.png

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

UTOOLS1592986713491.png

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

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

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

UTOOLS1592987154755.png

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

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

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

posted @ 2020-06-24 17:12  Kit_L  阅读(9393)  评论(0编辑  收藏  举报