ssh 配置

ssh 配置

在管理Git项目上,很多时候都是直接使用 https url 克隆到本地,当然也有有些人使用 SSH url 克隆到本地。

这两种方式的主要区别在于:使用 https url 克隆对初学者来说会比较方便,复制 https url 然后到 git Bash 里面直接用 clone 命令克隆到本地就好了,但是每次 fetch 和 push 代码都需要输入账号和密码,这也是 https 方式的麻烦之处(当然现在已经可以把账号信息保存下来,不需要每次都输入,不过本文暂时不介绍这个)。

而使用 SSH url 克隆却需要在克隆之前先添加和配置好 SSH key,因此,如果我们想要使用 SSH url 克隆的话,我们必须是这个项目的拥有者。否则我们是无法添加 SSH key 的,另外 ssh 默认是每次 fetch 和 push 代码都不需要输入账号和密码,如果我们想要每次都输入账号密码才能进行 fetch 和 push 也可以另外进行设置。

本文主要是讲述如何配置和使用 ssh 方式来提交和克隆代码。

如果我们没有配置 ssh,我们并不能 clone 远程仓库。

在这里插入图片描述

配置账号信息

git config user.name <name>

git config user.email <email>

生成 ssh 公钥密钥

ssh-keygen -t rsa -C <email>

在这里插入图片描述

之后可以在对应的文件夹下看到生成的 ssh 配置文件:

在这里插入图片描述

  • id_rsa:是秘钥,是本机的秘钥
  • id_rsa.pub:是公钥,是需要在 GitHub 账户上面配置的

在 GitHub 上配置

登录 GitHub,点击右上角的头像:

在这里插入图片描述

点击侧边栏中的 SSH and GPG keys,

在这里插入图片描述

后点击绿色的 New SSH key 按钮进行配置,把上面生成的 id_rsa.pub 的文件内容复制粘贴到 key 里:

在这里插入图片描述

点击添加后就可以在列表中看到配置好的key,这时候就可以执行 clone 命令了。

在这里插入图片描述

在不同电脑上使用同一个账号也需要重新生成 key 并在 github 上配置。

配置多个 GitHub 账号

github使用SSH与客户端连接。如果是单用户(first),生成密钥对后,将公钥保存至github,
每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。

单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。但如果是多个用户呢?

同样对于不同的账号,我们仍需要先执行 ssh-keygen -t rsa -C <email> 命令生成 ssh key,不过这时候就需要注意要修改生成的文件名了,不然会覆盖之前的。

在这里插入图片描述

注意这个路径,如果是相对路径,那么就会在相对于当前的目录下生成这个key文件。

将生成的 PUB 文件同样配置到 github 中,然后在 .ssh 文件夹中新建一个 config 文件。

在这里插入图片描述

在 config 文件中配置不同的账号信息:

比如:

Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

Host github.com1
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/test
  • Host 后面的名字是别名,对应不同的账号
  • 其中 HostName 是 git 的域名,文章以 GitHub 为例,因此 HostName 是 github.com。
  • User 都是 git
  • PreferredAuthentications 照抄即可
  • IdentityFile 就是存放密钥文件的位置

配置完成后需要测试一下 ssh 链接:

分别执行 ssh -T git@github.comssh -T git@github.com1 能否成功访问 GitHub.

在这里插入图片描述

之后如果我们要切换账户的就需要在 clone 或者 push 前修改 ssh url:

比如说 account1 对应了上面的 Host github.com,account2 对应了上面的 Host github.com1,从 account1 切换到 account2 的话就需要把 git@github.com 改成 git@github.com1 (通过 git remote set-url <repoName> <url> 命令更改,或者手动在 .git/config 文件里改)

注意: GitHub根据配置文件的 user.email 来获取 GitHub 帐号显示 author 信息, 所以对于多帐号用户一定要记得将 user.email 改为相应的 email(account2@mail.com)

地址

文章仓库地址:https://github.com/leopord-lau/easy-git

相关推荐

  1. Vscode中配置SSH

    2024-01-28 15:02:03       34 阅读
  2. mac 配置 ssh

    2024-01-28 15:02:03       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-28 15:02:03       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-28 15:02:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-28 15:02:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-28 15:02:03       18 阅读

热门阅读

  1. 在 Ubuntu 上安装 Docker Engine

    2024-01-28 15:02:03       29 阅读
  2. CentOS:重定向及nohup不输出的方法

    2024-01-28 15:02:03       28 阅读
  3. 凭证卷发放流程优化方案

    2024-01-28 15:02:03       32 阅读
  4. 【无标题】

    2024-01-28 15:02:03       29 阅读
  5. NAT小记

    NAT小记

    2024-01-28 15:02:03      30 阅读
  6. 1170. 排队布局(差分约束,spfa,负环)

    2024-01-28 15:02:03       37 阅读
  7. python 调用dll

    2024-01-28 15:02:03       32 阅读
  8. Vue组件

    2024-01-28 15:02:03       32 阅读
  9. 使用spark mllib训练中文文本分类器的

    2024-01-28 15:02:03       38 阅读