1. 生成 SSH 密钥
对于每个GitHub账户,使用以下命令生成一个新的SSH密钥对:
如果是第一次生成,请先执行
ssh-keygen -t rsa -b 4096 -C "[email protected]"
按回车
1 | ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/id_rsa_account1 |
-t
指定密钥类型,如rsa。-b
指定密钥长度,如4096位。-C
用于添加注释,通常是邮箱地址。
2. 添加公钥到 GitHub 账户
- 登录到GitHub账户。
- 导航到 Settings -> SSH and GPG keys。
- 点击 New SSH key 按钮,将生成的公钥(例如
~/.ssh/id_rsa_account1.pub
)内容粘贴进去。如果是远程服务器,使用
ssh-copy-id
命令或手动方式将公钥复制到远程服务器的~/.ssh/authorized_keys
文件中。- 命令示例:
ssh-copy-id username@remote_host
- 如果
ssh-copy-id
不可用,可以手动复制公钥内容。
- 命令示例:
3. 客户端配置 SSH 配置文件
编辑 ~/.ssh/config
文件,为每个账户添加以下配置块:
1 | # GitHub Account 1 |
4. 启动 SSH Agent
在终端中运行以下命令来启动 ssh-agent
:
1 | eval "$(ssh-agent -s)" |
5. 将 SSH 密钥添加到 SSH Agent
使用 ssh-add
命令将每个账户的私钥添加到 ssh-agent
:
1 | ssh-add ~/.ssh/id_rsa_account1 |
6. 测试 SSH 连接
测试是否能够通过SSH连接到GitHub:
1 | ssh -T git@account1 |
7. 使用 SSH 克隆仓库
使用配置文件中设置的别名来克隆GitHub仓库:
1 | git clone git@account1:user/Repo1.git |
如果是已有仓库:
1 | git remote -v |
看看当前关联的地址:
1 | origin [email protected]:no2y/no2y.github.io.git (fetch) |
将其修改为刚刚 ~/.ssh/config 中配置的 Host
1 | git remote set-url origin git@account1:no2y/no2y.github.io.git |
8. 配置 Git 用户名和电子邮件
为每个仓库配置正确的Git用户名和电子邮件地址:
1 | git config user.name "Your Name" |
或者为所有仓库全局设置用户名和电子邮件:
1 | git config --global user.name "Your Name" |