在 macOS 上设置 SSH 和 Git

在收到我的新 MacBook 后,我开始在 macOS 上配置开发环境。为了在 macOS 上配置 Git ,我在 MacBook 上生成了新的 SSH 密钥,并将其添加到我的 GitHub 账户中,以启用通过 SSH 进行 Git 操作的身份验证。

1. 生成新的 SSH 密钥

我打开终端,粘贴以下命令来生成新的 SSH 密钥:

bash 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"

输出如下:

bash 复制代码
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/shenlu/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/shenlu/.ssh/id_ed25519
Your public key has been saved in /Users/shenlu/.ssh/id_ed25519.pub

密钥指纹信息:

bash 复制代码
The key fingerprint is:
SHA256:kWkioRYSeKUUpNBRckvF/JGfJ+wfcu2FrtE6/TYgrr0 your_email@example.com

密钥的 randomart 图像:

bash 复制代码
+--[ED25519 256]--+
|=+B=*+.  .       |
|o+oB oo oo       |
|..+ o ..=+ .     |
| .   . o..= .    |
|        S. o . . |
|          o.ooo .|
|          .+o=o. |
|          ..oo+..|
|         ..E+o oo|
+----[SHA256]-----+

说明:

-t 参数指定加密算法为 ed25519。系统会提示你输入密码(可留空)。请将 "your_email@example.com" 替换为你自己的 GitHub 邮箱。-C 参数是给密钥添加注释,一般使用邮箱作为标识。

ed25519 是一种基于椭圆曲线的公钥签名算法,使用 EdDSACurve25519

2. 将 SSH 密钥添加到 GitHub 账户

将公钥复制到剪贴板:

bash 复制代码
pbcopy < ~/.ssh/id_ed25519.pub

这会将 id_ed25519.pub 文件的内容复制到剪贴板。如果 pbcopy 无法使用,你可以手动打开隐藏的 .ssh 文件夹,使用你喜欢的文本编辑器打开该文件并复制内容。

然后将公钥粘贴到 GitHub 设置中:

  1. 打开 GitHub 并登录你的账户
  2. 进入「Settings(设置)」页面
  3. 点击「SSH and GPG keys」
  4. 点击「New SSH key」
  5. 输入该密钥的标题(例如:MacBook)
  6. 将公钥粘贴到「Key」文本框中
  7. 点击「Add SSH Key」
  8. 如果系统提示,输入你的 GitHub 密码确认操作

3. Git 配置

如果你还没有安装 Homebrew,请先安装它。然后安装 Git

复制代码
brew install git

使用以下命令设置你的 Git 用户名和邮箱:

arduino 复制代码
git config --global user.name "Shen Lu"
git config --global user.email "shenlu89dev@gmail.com"

测试 Git 是否可以通过 SSH 正常连接到 GitHub

css 复制代码
ssh -T -p 443 git@ssh.github.com

首次连接时你会看到如下提示:

vbnet 复制代码
The authenticity of host '[ssh.github.com]:443 ([20.205.243.160]:443)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:1: github.com
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[ssh.github.com]:443' (ED25519) to the list of known hosts.
Hi shenlu89! You've successfully authenticated, but GitHub does not provide shell access.

这表明你已成功通过 SSH 认证,尽管 GitHub 不提供 shell 访问权限,但你现在可以通过 SSH 自由地进行 Git 操作。

参考资料

相关推荐
我叫黑大帅2 小时前
git 的 NFD 与 NFC 有什么区别?为什么我有个文件在 NFC 中间不会被当成改动,在 NFD 中就会当成改动
git·面试·github
2601_960906724 小时前
科技“无人区”跋涉,难度高、不确定性大
windows·macos·pycharm·myeclipse
鹤卿1234 小时前
「iOS」3GShare总结
macos·ios·objective-c·cocoa
呆萌很5 小时前
Git push 408 超时、远程断开解决办法
git
Lesile6 小时前
Hands-on Git experience
git
Co_Hui7 小时前
Git 基本使用
git
cooldream20097 小时前
AI 时代,Git 应该怎么学
人工智能·git
Jerry小杰7 小时前
运维神器|单端口搞定多台内网SSH!frp端口复用终极教程
运维·ssh
BD_Marathon9 小时前
xshell无法连接上centos7
ssh
柒和远方9 小时前
V053: 从 Git 回退到 AI 工程治理:Vibe Coding 的 Harness 工作流与质量阀门
git·vibecoding