如何配置SSH连接github
如何使用SSH连接github:
输入指令确保安装SSH
# 显示ssh 版本号
ssh -V
在生成 SSH 密钥时,passphrase(密码短语) 是一个额外的安全措施,用于保护你的私钥。即使你的私钥文件被泄露,没有 passphrase,攻击者也无法使用它。以下是一些关于 passphrase 的详细信息和操作指南:
什么是 Passphrase?
Passphrase 是一个用户设置的字符串,用于加密和解密你的 SSH 私钥文件。当你使用 SSH 密钥进行身份验证时,系统会提示你输入这个 passphrase,以确保只有知道 passphrase 的用户才能使用该密钥。
本地生成 SSH 密钥
打开终端或命令行工具:
- Windows 用户可以使用 Git Bash 或 PowerShell。
- macOS/Linux 用户直接打开终端应用。
生成新的 SSH 密钥对:
在终端中输入以下命令,按提示操作。这里我们将为密钥指定一个标签(如邮箱),以便识别:bash
ssh-keygen -t ed25519 -C "your_email@example.com"
# 会提示保存路径和是否需要passphrase
如果你的系统不支持 ed25519
,可以使用更常见的 RSA 算法,只需将 -t ed25519
替换为 -t rsa
保存密钥文件:
公钥和私钥会分别保存到两个文件中,公钥的文件名以.pub结尾。
- 按回车接受默认路径(通常是
~/.ssh/id_ed25519
或~/.ssh/id_rsa
),或者选择当前目录 - 设置密码保护(可选但推荐),这将增加安全性。如果不设置,直接按回车即可
Windows上的默认位置是C:\Users\<user>\.ssh\
启动 SSH 代理并添加私钥
启动 SSH 代理 (SSH agent)
Linx/MacOS
对于大多数 Linux 和 macOS 系统,可以在终端中输入以下命令:bash
eval "$(ssh-agent -s)"
Windows系统:
有两种方式打开SSH Agent:
方式1:使用Git bash
打开Git bash,输入指令 eval “$(ssh-agent -s)” ,开启 SSH Agent
注意:此方式打开的SSH Agent,当关闭git bash后,SSH Agent即同样会被关闭
方式2:使用Windows系统内置的OpenSSH
Windows 11系统已经内置了OpenSSH,在服务中可找到 :

Windows的系统中的SSH代理服务为:OpenSSH Authenticaiton Agent,需要启动该服务才行。
OpenSSH程序所在路径:”C:\Windows\System32\OpenSSH\ssh.exe”
在 PowerShell 中使用 Start-Service ssh-agent
启动服务,或者在服务中开启
# 检查服务是否已安装
Get-Service ssh-agent
# 设置服务自动启动
Set-Service -Name ssh-agent -StartupType Automatic
# 启动服务
Start-Service ssh-agent
注意:方式1和方式2的OpenSSH是两个不同的进程,方式1是Git自带的配置
如果要使用方式2,即使用Windows自带的SSH Agent,需要对Git 进行配置,Git才会从OpenSSH Agent中查找私钥。
配置方法:
找到Git的配置文件:”..ProgramFiles\Git\etc\gitconfig”,并用文本文档打开
在 [core] 区域下,添加 配置,指向 Windows 操作系统的Open SSH Agent
[core]
sshCommand = \"C:/Windows/System32/OpenSSH/ssh.exe\"
添加私钥到 SSH 代理:
将私钥文件放置于安全的目录中,打开Terminal,执行以下指令,添加私钥到SSH 代理。
# ssh-add <密钥文件全路径>
ssh-add C:\Users\.ssh\MyPrivateKeyFile
# 查询agent中添加的密钥
ssh-add -l
# 删除所有密钥
ssh-add -D
注意:如果私钥文件是放在公共目录,则可能会添加失败,提示权限设置的不够严格。
解决办法:将私钥文件放在 “C:\Users\<user>\.ssh\ ” 文件夹中管理,或者修改文件的访问权限。
将公钥添加到 GitHub
复制公钥内容: 打开公钥文件(如 ~/.ssh/id_ed25519.pub
),复制其中的所有文本。可以使用以下命令查看公钥文件内容,并复制全部内容:
登录 GitHub 并添加 SSH 密钥:
- 访问 GitHub SSH and GPG keys 页面。
- 点击“New SSH key”按钮。
- 在“Title”字段中给这个密钥起个名字,例如“My Laptop”。
- 将之前复制的公钥粘贴到“Key”字段中。
- 点击“Add SSH key”
可以通过bash“ssh-add -l”列出的内容与github中的添加的SSH进行比较,两者间应该一致。
测试 SSH 连接
在终端中输入以下命令,测试是否能成功通过 SSH 连接到 GitHub:
git@github.com:是github仓库SSH地址的前缀。
ssh -T git@github.com
第一次连接时,系统会询问是否继续连接,输入 yes
。如果成功,你会看到类似以下的输出:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
这表明你的 SSH 密钥已经成功配置
配置本地仓库 Git 使用 SSH
git remote -v
git remote set-url origin git@github.com:username/repo.git