将 Git 远程仓库的地址从 HTTP 修改为 SSH,

将 Git 远程仓库的地址从 HTTP 修改为 SSH,主要工作是**配置 SSH 密钥**并**更新仓库的远程地址**。这么做通常是为了更方便、更安全地访问仓库。

🔑 配置 SSH 密钥

首先,你需要在本地电脑生成一个 SSH 密钥对,并把公钥交给 Git 服务器(如 GitHub、GitLab 等)。

  1. **生成 SSH 密钥对**:

打开终端(或 Git Bash),执行以下命令(请替换为你的邮箱):

```bash

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

```

接下来,通常会提示你选择密钥的保存路径,直接按回车使用**默认路径**即可(通常是 `~/.ssh/id_rsa`)。你还可以为密钥设置一个密码,增强安全性(直接回车则不留密码)。

  1. **将 SSH 密钥添加到 ssh-agent**(可选但推荐):

这可以帮助你管理密钥,避免频繁输入密码。

```bash

启动 ssh-agent

eval "$(ssh-agent -s)"

将你的私钥添加到 ssh-agent

ssh-add ~/.ssh/id_rsa

```

  1. **将公钥添加到你的 Git 服务器账户**:
  • 首先,**复制你的公钥内容**。公钥文件通常与私钥同名,但扩展名为 `.pub`,例如 `id_rsa.pub`。你可以使用以下命令查看并复制:

```bash

cat ~/.ssh/id_rsa.pub

```

  • 然后,登录到你使用的 **Git 服务商网站**(如 GitHub、GitLab 等)。

  • 进入你的账户 **Settings** (设置),

  • 找到 **SSH and GPG keys** (或类似名称) 的配置项,

  • 点击 **New SSH key** (或类似按钮),

  • 将刚才复制的公钥内容粘贴到指定区域,并保存。

🔄 修改本地仓库的远程地址

完成 SSH 密钥配置后,就可以修改你本地仓库的远程地址了。

  1. **查看当前的远程仓库地址**:

进入你的本地仓库目录,执行以下命令,查看当前远程地址(通常命名为 `origin`)。

```bash

git remote -v

```

如果当前使用的是 HTTP,你可能会看到类似 `https://github.com/username/repo.git\` 的地址。

  1. **修改远程仓库地址为 SSH 格式**:

使用 `git remote set-url` 命令来更新。

```bash

git remote set-url origin git@github.com:username/repository.git

```

请务必将上面的 `username` 和 `repository` 替换为你的实际用户名和仓库名。

**SSH 地址格式小提示**:

常见的 Git 服务商 SSH 地址格式一般是:

  • **GitHub**: `git@github.com:username/repository.git`

  • **GitLab**: `git@gitlab.com:username/repository.git`

  • **Gitee**: `git@gitee.com:username/repository.git`

具体地址你可以在仓库页面的 "Clone" 按钮处,选择 SSH 方式时看到。

  1. **验证修改是否成功**:

再次执行 `git remote -v`,确认显示的地址已变为 SSH 格式。

🧪 测试连接

完成后,建议测试一下 SSH 连接是否正常。

```bash

ssh -T git@github.com

```

请将 `github.com` 替换为你使用的 Git 服务商域名。如果看到欢迎信息,就表示连接成功了。

⚠️ 注意事项

  • 以上操作假设你的远程仓库名称是默认的 `origin`。如果不是,请在命令中替换为实际的远程仓库名称。

  • 如果你的 SSH 密钥没有使用默认路径和名称,在上述相关步骤中需要指定正确的密钥文件路径。

  • 如果你的仓库有多个远程地址(例如同时设置了 `fetch` 和 `push`),`git remote set-url` 命令通常会同时更新它们。你可以通过 `git remote -v` 仔细检查。

希望这些步骤能帮助你顺利切换到 SSH 方式。

相关推荐
AbandonForce几秒前
Linux 网络:HTTP(一)基础与报文结构
linux·网络·http
IOT那些事儿14 小时前
Git报错:Could not get HEAD hash
git·hash·head
严谨的麻辣烫16 小时前
静态代理 IP 的出口一致性如何验证?Python 请求检测与异常排查
开发语言·python·http·网络安全
杜哥无敌17 小时前
Git Bash + acme.sh 实现 SSL 证书自动续签(完整指南)
git·bash·ssl
川石课堂软件测试18 小时前
涨薪技术|0到1学会性能测试第9课-HTTP响应统计
数据库·功能测试·网络协议·http·kubernetes·单元测试·测试用例
可信时间戳18 小时前
原创作品怎么申请版权?草稿、定稿、已发布、已授权,四个阶段四个做法
网络协议·http·https
余槐i19 小时前
加了Cookie yt-dlp仍报HTTP 403:3个容易漏的请求头差异
python·http·ffmpeg·开发工具·yt-dlp
酒神dnspup20 小时前
HTTP Keep-Alive 与连接池实战:TIME_WAIT、端口耗尽和复用率怎么排查
http·keep-alive·tcp·连接池
nunumaymax21 小时前
Git教程
git
阿萨德528号21 小时前
IDEA 项目 SVN 配置消失、版本控制变成 Git 且无 VCS 菜单的解决办法
git·svn·intellij-idea