Ubuntu系统配置github的ssh

发布于:2025-05-14 ⋅ 阅读:(5) ⋅ 点赞:(0)

在 Ubuntu 上配置 GitHub 的 SSH 密钥可以让你通过 SSH 协议安全地与 GitHub 交互,无需每次输入用户名和密码。以下是详细步骤:

步骤 1:检查是否已有 SSH 密钥

  1. 打开终端,检查是否已有 SSH 密钥:
    ls -al ~/.ssh
    
    如果看到类似 id_rsaid_rsa.pub 的文件,说明已有密钥,可以跳到步骤 3。如果没有,继续以下步骤。

步骤 2:生成新的 SSH 密钥

  1. 生成密钥对

    ssh-keygen -t ed25519 -C "你的邮箱@example.com"
    
    • -t ed25519:使用 Ed25519 算法(推荐,安全性高)。
    • -C:添加注释,通常是你的邮箱。
    • 如果你的系统不支持 Ed25519(较老版本),可以用 RSA:
      ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"
      
  2. 按提示操作

    • 提示输入保存路径时,直接按 Enter(默认保存到 ~/.ssh/id_ed25519~/.ssh/id_rsa)。
    • 提示设置密码时,可直接按 Enter(无密码)或输入密码(更安全)。
  3. 启动 SSH 代理

    eval "$(ssh-agent -s)"
    
  4. 添加私钥到 SSH 代理

    ssh-add ~/.ssh/id_ed25519
    

    如果用的是 RSA 密钥,替换为 ~/.ssh/id_rsa

步骤 3:将公钥添加到 GitHub

  1. 复制公钥到剪贴板

    cat ~/.ssh/id_ed25519.pub | xclip -selection clipboard
    
    • 如果 xclip 未安装,先安装:
      sudo apt-get install xclip
      
    • 或者手动打开 ~/.ssh/id_ed25519.pub(或 id_rsa.pub),复制内容。
      cat ~/.ssh/id_ed25519.pub
  2. 登录 GitHub

    • 打开浏览器,登录你的 GitHub 账户。
    • 点击右上角头像,选择 Settings
    • 在左侧菜单中,点击 SSH and GPG keys
    • 点击 New SSH keyAdd SSH key
  3. 添加公钥

    • Title:给密钥取个名字(例如 “Ubuntu PC”)。
    • Key type:选择 “Authentication Key”。
    • Key:粘贴刚才复制的公钥内容。
    • 点击 Add SSH key 保存。

步骤 4:测试 SSH 连接

  1. 测试连接

    ssh -T git@github.com
    
    • 第一次连接可能会提示是否信任主机,输入 yes
    • 如果成功,会看到类似:
      Hi 用户名! You've successfully authenticated, but GitHub does not provide shell access.
      
  2. 如果连接失败

    • 检查 ~/.ssh 目录权限:
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/id_ed25519
      chmod 644 ~/.ssh/id_ed25519.pub
      
    • 确保公钥正确添加到 GitHub。
    • 检查网络是否阻止 SSH(端口 22)。

步骤 5:配置 Git 使用 SSH

  1. 设置 Git 用户信息(如果尚未配置):

    git config --global user.name "你的名字"
    git config --global user.email "你的邮箱@example.com"
    
  2. 确保仓库使用 SSH URL

    • 克隆仓库时,使用 SSH 地址(例如 git@github.com:用户名/仓库名.git)。
    • 如果已有仓库,检查远程 URL:
      git remote -v
      
    • 如果是 HTTPS 地址,改为 SSH:
      git remote set-url origin git@github.com:用户名/仓库名.git
      

步骤 6:验证

  1. 尝试克隆或推送代码到 GitHub:
    git clone git@github.com:用户名/仓库名.git
    
    或在现有仓库中:
    git push origin main
    
    如果无需输入密码且操作成功,说明配置正确。

网站公告

今日签到

点亮在社区的每一天
去签到