Skip to content

Git 与 SSH 配置

本机和服务器分别配置 GitHub SSH key,再通过 GitHub 保存源代码、同步服务器部署目录。

本机配置 SSH key

生成 SSH key:

bash
ssh-keygen -t ed25519 -C "Macbook"

一路按 Enter。

查看公钥:

bash
cat ~/.ssh/id_ed25519.pub

复制整行,格式必须以 ssh-ed25519 开头:

text
ssh-ed25519 AAAAC3... Macbook

不要复制 randomart,也不要复制私钥。

添加到 GitHub

进入:

text
GitHub -> Settings -> SSH and GPG keys -> New SSH key

Title 可以写当前电脑名,Key 粘贴 id_ed25519.pub 的整行内容。

测试:

bash
ssh -T git@github.com

如果看到:

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

说明成功。这不是错误。

初始化仓库

bash
git init
git branch -M main
git remote add origin git@github.com:username/repo.git
git add .
git commit -m "Initial website"
git push -u origin main

推荐 .gitignore

gitignore
.DS_Store
node_modules/

.vitepress/cache/
.vitepress/dist/

npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

.env
.env.*
!.env.example

从0~1部署个人网站.md

服务器也要配置 SSH key

服务器是一台新机器,也需要单独生成和添加 SSH key:

bash
ssh-keygen -t ed25519 -C "Aliyun Server"
cat ~/.ssh/id_ed25519.pub

把服务器公钥添加到 GitHub 后,再测试:

bash
ssh -T git@github.com

成功后,服务器才能执行:

bash
git clone git@github.com:username/repo.git
git pull

常见错误

Permission denied (publickey) 表示当前机器的 SSH key 没有被 GitHub 识别。先检查当前机器的公钥,再添加到 GitHub。

Key is invalid 通常是复制错了内容。正确格式必须以 ssh-ed25519 开头。