Git -远程仓库使用HTTPS和SSH区别、git代理

目录

SSH与HTTPS对比

特性 SSH HTTPS
协议类型 加密的网络协议 加密的HTTP协议
端口 22 443
认证方式 密钥对(公钥/私钥) 用户名+密码/令牌
URL格式 git@host:user/repo.git https://host/user/repo.git
首次配置 比较复杂(需生成配置密钥) 简单(直接输入密码)
速度 快 较慢
安全性 高 高(使用令牌时)
便捷性 配置一次,永久使用 需要频繁输入凭证
公司网络 可能被防火墙阻挡(端口22) 通常可以访问(端口443)

平台支持情况:

平台 SSH 支持 HTTPS 支持 备注
Gitee ✅ 优秀 ✅ 优秀 都推荐使用
GitHub ✅ 优秀 ✅ 优秀 2021年后推荐令牌代替密码
GitLab ✅ 优秀 ✅ 优秀 企业版可能有特殊配置
自建 Git ✅ 需要配置 ✅ 通常支持 取决于服务器配置

SSH中的账户公钥和仓库公钥对比

特性 账户公钥 仓库公钥(部署公钥)
绑定对象 个人账户 单个仓库
作用范围 整个账户所有仓库 单个特定仓库
权限 读写权限(可 push/pull) 只读权限(只能 pull)
使用场景 个人开发、日常使用 服务器部署、CI/CD、自动化部署
安全性 高(绑定个人账户,个人级别) 较高(仅限单个仓库,仓库级别)
管理位置 账户设置→SSH公钥 仓库设置→部署公钥

账户公钥权限矩阵:

操作 自己的公开仓库 自己的私有仓库 别人的公开仓库 别人的私有仓库
Clone ✅ ✅ ✅ ❌
Pull(推送) ✅ ✅ ✅ ❌
Push(拉取) ✅ ✅ ⚠️(需权限) ❌
Fork ✅ ✅ ✅ ❌

仓库公钥权限矩阵:

操作 绑定的仓库(只读模式) 绑定的仓库(读写模式)
Clone ✅ ✅
Pull ✅ ✅
Push ❌ ✅
其他操作 ❌ ❌

黄金法则:

  • 个人开发 → 账户公钥(方便管理)
  • 服务器/自动化 → 仓库公钥(安全隔离)
  • 权限最小化 → 只给必要的权限
  • 密钥分离 → 不同用途使用不同密钥
  • 仓库公钥是给机器用的,账户公钥是给人用的。

SSH中的私钥和公钥对比

特性 私钥(id_rsa/id_ed25519) 公钥(id_rsa.pub/id_ed25519.pub)
保密性 🔒绝对保密,永不外传 📢可以公开
存储位置 本地计算机(仅自己) 远程服务器(Gitee/GitHub等)
文件扩展名 无扩展名 .pub
权限设置 600 (rw-------) 644 (rw-r--r--)
生成顺序 先生成私钥,再导出公钥 从私钥派生生成
丢失后果 灾难性,需重新生成 无影响,可从私钥重新生成
使用场景 身份验证、解密、签名 验证、加密、验签
  • 每次 SSH 连接都会自动使用对应的私钥进行验证
  • 一台电脑可以有多对密钥,通过配置文件管理

git代理

查看代理

git 复制代码
// 查看全局代理
git config --global --get http.proxy  # 应该没有输出
git config --global --get https.proxy # 应该没有输出
// 查看局部代理
git config --local --get http.proxy  # 应该没有输出
git config --local --get https.proxy # 应该没有输出

添加代理

git 复制代码
// 全局代理,影响全部git仓库
git config --global http.proxy socks5://127.0.0.1:端口号
git config --global https.proxy socks5://127.0.0.1:端口号
// 局部代理,只影响当前git仓库
git config --local http.proxy socks5://127.0.0.1:端口号
git config --local https.proxy socks5://127.0.0.1:端口号

​​​​​​

删除代理

git 复制代码
# 删除 HTTP 代理配置
git config --global --unset http.proxy

# 删除 HTTPS 代理配置
git config --global --unset https.proxy

# 验证是否删除成功
git config --global --get http.proxy  # 应该没有输出
git config --global --get https.proxy # 应该没有输出
相关推荐
是真的小外套3 小时前
网络安全实战第7期:Hydra爆破SSH实战
安全·web安全·ssh
echome8887 小时前
Git 日常救急:撤销提交、找回误删文件和解决冲突
git·版本控制
赵民勇11 小时前
Git命令详解
git
sbjdhjd21 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
不老刘1 天前
Antigravity 的 New Worktree 模式:给 AI 代理一个安全的“平行工位”
人工智能·git·ai编程·antigravity
光谱SpectrAI1 天前
Windows 也中招:Git Bash 和 Node 仍信任泄露的 eMudhra 证书
git
YIN_尹1 天前
【git原理与使用】git初识与安装
大数据·git·elasticsearch
是真的小外套1 天前
网络安全实战第6期:Hydra爆破SSH实战
安全·web安全·ssh
程序员初一1 天前
我在 1C1G 的服务器上装了个桌面环境,然后用 VNC 连它,然后我后悔了
linux·ssh
Leo_Mr1 天前
Vue3 项目配置 Git 提交规范(企业通用方案:husky + commitlint + cz-git + lint-staged)
git