Web编程技术营地
研究、演示、创新

与 github 协作

撰写时间:2026-06-29

修订时间:2026-06-29

概述

GitHub已于2021年8月13日禁用密码认证,改为必须使用Token令牌)或SSH密钥。同时,SSH协议在国内某些网络环境下比HTTPS更稳定,能有效避免诸如fatal: unable to access '...': Error in the HTTP2 framing layer等错误。

本文论述如何在NetBeans进行配置以让其能与GitHubSSH无缝协作。

在本机生成SSH密钥

在终端输入命令:

ssh-keygenOpenSSH套件自带的用以生成、管理和转换SSH密钥的命令行工具。

选项-t ed25519指定使用Ed25519算法来生成密钥。该算法是一种现代椭圆曲线数字签名算法。特点是速度极快,密钥较RSA短,并且非常安全,因此比RSA 2048/4096更受青睐。其兼容性也很好,几乎所有现代服务器、客户端都支持。

选项-C "your-email@example.com"的作用是向公钥文件.pub末尾添加your-email@example.com的字符,以作为肉眼可读的注释标签。它不是密码或用户名,纯粹是一个标识符,用于帮助我们记住此密钥的用途(例如,工作笔记本电脑、GitHub访问、制作者,等等)。GitHub等平台会显示此注释。

当命令运行时,系统将依次问题2个问题并生成指纹图:

  1. Enter file in while to save the key:
    要将密钥存放在哪里,默认为~/.ssh/id_ed25519,直接回车即可。
  2. Enter passphrase (empty for no passphrase):
    是否需要在每次使用私钥(如git push)时提供一个额外的密码。如果设置,则每次使用私钥时需提供此密码,否则不需要提供。为方便自动化推送,可直接按回车以跳过。
  3. 生成并打印指纹图。
    需要时只需使用命令cat ~/.ssh/id_ed25519.pub查看公钥内容,并将其复制到GitHub上面。

当运行上述命令后,系统将为你创建一对加密钥匙:

  • 私钥 (private key):相当于你的身份证,存放在你的电脑中(默认路径为~/.ssh/),绝对不能向别人出示。
  • 公钥 (public key):相当于你的身份证复印件,可以放心地将其上传到Github

在GitHub上录入 SSH

GitHub=>Settings=>SSH and GPG keys中点New SSH key按钮,在Add new SSH Key表单中,Title文本框中输入一个标题。此标题在GitHub显示该公钥时作为标题显示,用以快速标识该公钥的作用,可输入诸如My-MacPro,用以说明使用哪台电脑所生成。

Key文本框中将本地的公钥内容复制上去,然后按Add SSH key按钮即可生成。

这样便完成了将公钥提交到GitHub的过程。

使用 SSH 克隆 GitHub 仓库

在终端运行命令:

将同时显示从GitHub上自动传送过来的公钥内容,并问是否进行连接。输入yes,回车。

系统匹配成功后,将更新~/.ssh/known_hosts文件的内容,以名值对的方式github.com ssh-ed25519 ...添加进该文件中。在命令行中使用cat命令输出该文件内容,即可清晰地看到当前电脑共生成了哪些公钥并上传至哪个网站上了。

最后,顺利地将GitHub仓库克隆至所用电脑的当前路径中。

在 NetBeans 中克隆并配置

如果未在终端中按上一节内容进行克隆,也可在NetBeans中直接克隆。

点击NetBeansTeam => Remote => Clone,在Clone Repository窗口的Repository URL文本框中填入:

Username文本框中填入:

Priviate/Public Key,并在Priviate Key File文本框中填写:

如果生成SSH时未输入Passphrase,则Passphrase文本框内容为空。

Clone into文本框中选择存放目的地。

一直单击Next按钮,直至结束。克隆完毕后,最后一步可能需要选择是否需要在该路径上创建NetBeans项目。如果需要创建,则克隆下来的内容可纳入到NetBeans项目进行管理并运行,且可对项目按右键进行git操作。如果不创建项目,可在Favorites窗格中先添加克隆的路径,然后即可在NetBeans中方便地打开、编辑、保存、并对相应路径或文件按右键进行git操作。

参考资源

  1. NetBeans.org