兼容性最高的Git push推送到Github仓库的SSH设置方法


使用 SSH 方式推送项目到 GitHub 是一种安全且方便的方式,尤其在频繁推送代码时不需要每次都输入用户名和密码。以下是详细的步骤教程,涵盖从创建 SSH 密钥到配置 GitHub、推送项目的整个流程。

使用 SSH 方式推送 GitHub 项目的完整流程

1. 生成 SSH 密钥

如果你还没有生成 SSH 密钥,首先需要在本地机器生成一个 SSH 密钥。

在命令行中执行以下命令:

ssh-keygen -t rsa -b 4096 -C "[email protected]"
  • -t rsa: 使用 RSA 算法生成密钥。
  • -b 4096: 密钥长度为 4096 位(推荐)。
  • -C "[email protected]": 这是生成密钥的标识,可以使用 GitHub 账户关联的邮箱。

按提示,默认情况下,SSH 密钥会被生成到 ~/.ssh/id_rsa 文件中。

2. 添加 SSH 密钥到 SSH 代理

要确保 SSH 代理在后台运行,并将生成的密钥添加到代理中:

启动 SSH 代理:

eval "$(ssh-agent -s)"

添加私钥到 SSH 代理:

ssh-add ~/.ssh/id_rsa

3. 将 SSH 公钥添加到 GitHub

现在,你需要将生成的公钥添加到 GitHub 上。

获取公钥内容:

cat ~/.ssh/id_rsa.pub

这会输出公钥的内容,类似于 ssh-rsa AAAA...your_key...== [email protected],复制这一整段内容。

在 GitHub 上添加 SSH 密钥:

  1. 登录 GitHub 账户。
  2. 进入 GitHub 设置页面:https://github.com/settings/keys
  3. 点击右上角的 “New SSH Key”。
  4. 在 “Title” 框中为该密钥起一个名字,比如 My Laptop SSH Key
  5. 在 “Key” 框中粘贴刚才复制的公钥内容。
  6. 点击 “Add SSH Key” 完成添加。

4. 测试 SSH 连接

你可以通过以下命令测试 SSH 连接是否正常:

ssh -T [email protected]

如果配置正确,GitHub 应该会返回类似这样的信息:

Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.

这表明你已经成功配置 SSH 连接,并且可以推送代码到 GitHub。

5. 配置本地 Git 远程仓库 URL 为 SSH

如果你已经克隆了项目仓库并且仓库使用的是 HTTPS 方式,你需要将远程仓库的 URL 修改为 SSH 方式。

先检查当前远程仓库 URL:

git remote -v

如果显示的是 HTTPS URL,如 https://github.com/username/repository.git,需要将其更改为 SSH URL。

修改远程仓库 URL 为 SSH:

git remote set-url origin [email protected]:<username>/<repository>.git

这里的 <username> 是你的 GitHub 用户名,<repository> 是你的项目仓库名称。

6. 推送本地代码到 GitHub

现在你已经配置好 SSH,接下来可以使用 Git 进行代码的推送操作。

添加文件到 Git 仓库:

git add .

提交更改:

git commit -m "Initial commit"

推送代码到 GitHub:

git push -u origin main

如果你的默认分支是 master,则使用:

git push -u origin master

7. 后续操作

在完成上述配置后,你可以直接通过 git push 命令推送本地代码到 GitHub,无需再输入用户名和密码。

8. 总结流程

  1. 使用 ssh-keygen 生成 SSH 密钥。
  2. 添加 SSH 密钥到 SSH 代理。
  3. 将 SSH 公钥添加到 GitHub。
  4. 将 Git 远程仓库 URL 设置为 SSH 方式。
  5. 提交并推送代码到 GitHub。

通过这些步骤,你现在可以使用 SSH 方式推送代码到 GitHub,而无需每次输入用户名和密码。

在jetbrain软件中采用ssh推送的介绍

在 JetBrains 系列软件(如 IntelliJ IDEA、PyCharm、WebStorm 等)中使用 SSH 推送代码到 GitHub 需要进行一些配置,以确保能够通过 SSH 连接并推送项目。下面是详细的教程,包括如何在 JetBrains 工具中配置 SSH 推送。

1. 在 GitHub 上配置 SSH 密钥

如果你已经生成了 SSH 密钥并添加到 GitHub,可以跳过这一步。如果没有,请参考以下步骤生成 SSH 密钥并将其添加到 GitHub。

  • 生成 SSH 密钥:

    ssh-keygen -t rsa -b 4096 -C "[email protected]"
  • 将公钥添加到 GitHub:

    1. 复制公钥内容:
      cat ~/.ssh/id_rsa.pub
    2. 登录 GitHub,进入 SSH 和 GPG 密钥页面
    3. 点击 “New SSH Key”,将公钥粘贴到 “Key” 框中并点击 “Add SSH Key”。

2. 在 JetBrains 工具中设置 Git 的 SSH 配置

JetBrains 工具默认支持 Git 及 SSH 配置,你需要确保软件正确配置了 SSH,并且可以通过 SSH 推送代码到 GitHub。

a. 打开 Git 设置

  1. 打开你的项目。
  2. 点击 File 菜单,选择 Settings(Windows/Linux)或 Preferences(macOS)。
  3. 在设置窗口中,导航到 Version Control > Git

b. 配置 SSH 可执行文件

  1. 确保在 Git executable 中选择了正确的 Git 可执行文件路径。通常,JetBrains 工具会自动检测本地安装的 Git。如果未找到 Git 可执行文件,点击 ... 选择 Git 可执行文件的路径,通常是:

    • macOS: /usr/bin/git
    • Windows: C:\Program Files\Git\bin\git.exe
  2. SSH executable 中,选择 Built-in,或者你可以选择 Native 以使用本机的 SSH 客户端。

c. 测试 Git 配置

  1. Settings > Version Control > Git 中,点击 Test 按钮,测试 Git 是否能够正常工作。它应该会显示 Git executed successfully

d. 修改远程仓库 URL 为 SSH

确保你使用的是 SSH URL,而不是 HTTPS URL:

  1. 在 JetBrains 工具中,打开 View > Tool Windows > Git(或按快捷键 Alt + 9)。

  2. 在 Git 工具窗口中,点击 Log 标签。

  3. 点击右上角的 “Remotes” 按钮(小齿轮图标),选择 “Manage Remotes”。

  4. 选择现有的远程仓库(如 origin),并将 URL 修改为 SSH 格式,例如:

    [email protected]:<username>/<repository>.git
  5. 点击 OK,保存配置。

3. 推送代码到 GitHub 使用 SSH

在正确配置 SSH 后,你可以使用 JetBrains 工具推送代码到 GitHub。

a. 提交代码

  1. 点击 Git 工具窗口,选择 Commit 或者点击顶部工具栏的 Commit 按钮。
  2. 选择你想要提交的文件,填写提交信息后点击 Commit 按钮。

b. 推送代码到 GitHub

  1. 提交后,点击 Git 工具窗口中的 Push 按钮。
  2. 确认推送到远程仓库(通常是 origin/mainorigin/master),然后点击 Push

此时,JetBrains 工具会使用 SSH 推送代码到 GitHub。如果配置正确,应该可以正常完成推送。

4. 测试 SSH 连接

你可以使用 JetBrains 工具中的 SSH 测试来确保连接正确。

a. 打开终端

  1. 在 JetBrains 工具中,打开 Terminal 窗口(在工具窗口中可以找到)。
  2. 运行以下命令测试 SSH 连接:
    ssh -T [email protected]
    如果配置正确,你应该看到类似的信息:
    Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.

5. 常见问题排查

  • Git 出现认证错误
    如果你收到 Permission denied (publickey) 错误,确保你的 SSH 密钥已被添加到 SSH 代理,并且 GitHub 上的 SSH 公钥已正确配置。

    使用以下命令确认 SSH 密钥已加载到代理中:

    ssh-add -l

    如果没有列出密钥,使用以下命令添加密钥:

    ssh-add ~/.ssh/id_rsa
  • 远程仓库 URL 不正确
    确认你已将远程仓库 URL 修改为 SSH 格式。使用 git remote -v 查看当前远程仓库配置,并确保其为 SSH URL,如 [email protected]:username/repository.git


通过这些步骤,你可以在 JetBrains 系列软件中配置并使用 SSH 方式推送代码到 GitHub。


文章作者: Onefly
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Onefly !
评论
  目录