专业的编程技术博客社区

网站首页 > 博客文章 正文

Git中SSH方式的使用(git sshkey)

baijin 2024-10-10 04:22:21 博客文章 12 ℃ 0 评论

简介

在 git 中 clone 项目有以下两种方式:

  • HTTPS:url格式为https://xxx.xxx.com/xxx/xxx.git;使用用户名和密码进行验证。
  • SSH:url格式为git@xxx.xxx.com:xxx/xxx.git;clone 的项目你必须是拥有者或者管理员,而且需要在 clone 前添加 SSH Key。服务器上面保存公钥,用户通过私钥请求数据

具体步骤

以 Mac 为例,项目托管在 gitlab 上面;git 客户端使用 sourceTree。

新建SSH Key

  • 检查电脑上面是否存在 SSH Key
cd ~/.ssh
ls

查看是否有 id_rsa 、id_rsa.pub 等文件;若有则跳过创建 SSH Key 步骤

  • 创建 SSH Key:ssh-keygen -t rsa -C "your_email@example.com"

执行过程中,提示输入密码时,一般推荐直接按【Enter】跳过

创建成功后会出现公钥(id_rsa.pub)、私钥(id_rsa)文件

将公钥设置到gitlab上面

  • 查看公钥内容:cat ./id_rsa.pub
  • 打开 gitlab 项目页面,点击【右上角头像】 -> 【Settings】 -> 【SSH Keys】 -> 将公钥内容复制到 key 文本框中 -> 点击【Add key】按钮



  • 到电脑上面测试 SSH Key: ssh -T git@xxx.xxx.com:xxx/xxx.git

测试出现【Welcome to XXX】表示配置好了

sourceTree配置

  • 将 SSH Key 添加到 sourceTree:ssh-add ~/.ssh/id_rsa
  • 将 SSH Key 添加到钥匙串:ssh-add -K ~/.ssh/id_rsa

这样配置后 sourceTree 就可以使用 SSH 方式拉取和提交代码了

备注

自从 macOS 升级到 Sierra 10.12 以后 ssh-agent 不会自动加载密码短语了,每次重启后 ssh 登机器时总是提示输入密钥的密码短语,所以每次开机都要用ssh-add -K ~/.ssh/id_rsa将它手动添加到钥匙串中才行。

可以将其写入到 ~/.ssh/config 配置文件中即可

  • 在 ~/.ssh/ 目录下,新建 config 文件
Host *
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa
  IdentityFile ~/.ssh/github_rsa

IdentityFile 可以配置多个

以后每次启动电脑 sourceTree 都会自动加载 SSH Key。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表