git 提交代码由原先账号密码调整为ssh

如果你希望将 Git 提交代码的身份验证方式从用户名和密码切换到 SSH,你需要进行以下几个步骤:

1. 生成 SSH 密钥对

如果你还没有 SSH 密钥对,可以使用以下命令生成一个新的密钥对:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa 指定密钥类型为 RSA。
  • -b 4096 指定密钥长度为 4096 位。
  • -C "your_email@example.com" 添加一个注释(通常是你的邮箱)。

按照提示选择保存位置(默认是 ~/.ssh/id_rsa)和设置密码(如果需要)。

2. 将公钥添加到你的 Git 账户

找到生成的公钥(~/.ssh/id_rsa.pub)并将其添加到你的 Git 账户(如 GitHub、GitLab 或 Bitbucket):

  1. 查看公钥内容:

    bash 复制代码
    cat ~/.ssh/id_rsa.pub
  2. 将公钥复制到剪贴板:

    bash 复制代码
    cat ~/.ssh/id_rsa.pub | clip  # Windows
    pbcopy < ~/.ssh/id_rsa.pub     # macOS
    xclip -sel clip < ~/.ssh/id_rsa.pub  # Linux
  3. 登录到你的 Git 账户,进入 SSH 密钥设置页面,粘贴公钥并保存。

3. 配置 Git 使用 SSH

更新 Git 远程仓库的 URL,使用 SSH 协议代替 HTTPS:

  1. 查看当前的远程仓库 URL:

    bash 复制代码
    git remote -v
  2. 将远程仓库 URL 更改为 SSH:

    • GitHub:

      bash 复制代码
      git remote set-url origin git@github.com:username/repository.git
    • GitLab:

      bash 复制代码
      git remote set-url origin git@gitlab.com:username/repository.git
    • Bitbucket:

      bash 复制代码
      git remote set-url origin git@bitbucket.org:username/repository.git

    usernamerepository 替换为你的用户名和仓库名。

  3. 验证配置是否正确:

    bash 复制代码
    git remote -v

    确保显示的 URL 使用 SSH 协议(git@...)。

4. 测试 SSH 连接

使用以下命令测试与远程仓库的 SSH 连接:

  • GitHub:

    bash 复制代码
    ssh -T git@github.com
  • GitLab:

    bash 复制代码
    ssh -T git@gitlab.com
  • Bitbucket:

    bash 复制代码
    ssh -T git@bitbucket.org

如果一切设置正确,你应该看到一条欢迎消息或成功连接的提示。

完成上述步骤后,你的 Git 提交代码将使用 SSH 密钥进行身份验证,而不再需要输入用户名和密码。

相关推荐
a努力。41 分钟前
国家电网Java面试被问:混沌工程在分布式系统中的应用
java·开发语言·数据库·git·mysql·面试·职场和发展
wypywyp1 小时前
2.虚拟机一直显示黑屏,无法打开,可能是分配的硬盘空间不够
linux·运维·服务器
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.3 小时前
Haproxy会话保持:基于Cookie优化
运维·负载均衡
学习3人组4 小时前
Docker 容器内文件↔本地双向复制备份
运维·docker·容器
crownyouyou4 小时前
Ubuntu输入法使用回车键后字符间距异常的问题
linux·运维·ubuntu
济6174 小时前
linux 系统移植(第十七期)---Linux 内核移植(5)-- 修改网络驱动(2)--- Ubuntu20.04
linux·运维·网络
C++ 老炮儿的技术栈5 小时前
C/C++ 中 inline(内联函数)和宏定义(#define)的区别
开发语言·c++·git·算法·机器人·visual studio
街灯L5 小时前
【kylin-Linux】Flash兼容插件包安装
大数据·linux·运维·kylin
Howrun7775 小时前
Linux_C++网络编程四种CS模型
linux·运维·服务器
vortex55 小时前
如何快速删除 Linux 中的海量小文件:告别rm命令的缓慢困境
linux·运维·服务器