【填坑】电脑用户名有中文字符,如何与github建立SSH连接

前情提要

因为我之前很作死的在电脑本地用户名中设置了中文字符,导致始终无法与github建立ssh连接

如今通过hexo在github上建立了一个博客,为了更新方便,如今是必须要姐姐这个ssh连接github的历史遗留问题了。

好在有万能的AI,在它的帮助下我们来看如何解决这个问题

首先,为了严谨起见,我们查看本地是否已生成过SSH密钥

ls -al ~/.ssh

查看到并没有 id_rsa 和 id_rsa.pub 文件(或 id_ed25519 文件),仅显示有一个本地的hosts文件时,这下放心了,可以完全从生成SSH密钥开始做起

ssh-keygen -t ed25519 -C "你的邮箱地址"

使用这个命令生成新的SSH密钥

按回车接受默认文件位置,设置密码(可选)

到了这一步,因为本地用户名有中文字符,又开始报错了

image

 

 请教下AI该怎么处理

下面,重点来了

# 方案1:手动指定密钥保存路径
# 不要使用默认路径,手动指定一个简单的英文路径:


ssh-keygen -t ed25519 -C "e-mail地址" -f /c/ssh_keys/id_ed25519
# 这会直接在 C 盘根目录创建 ssh_keys 文件夹来保存密钥。

 详细步骤如下

1. 生成密钥到简单路径

ssh-keygen -t ed25519 -C "e-mail地址" -f /c/ssh_keys/id_ed25519

按提示操作:

  • 输入密码(可选,直接回车表示不设密码)

  • 再次确认密码

2. 创建 SSH 配置文件

# 创建配置目录(如果不存在)
mkdir -p /c/Users/Public/.ssh

# 创建 SSH 配置文件
nano /c/Users/Public/.ssh/config

 

添加以下内容:

Host github.com
    HostName github.com
    User git
    IdentityFile /c/ssh_keys/id_ed25519

 

3. 设置环境变量

# 设置 SSH 使用我们创建的配置
export SSH_HOME=/c/Users/Public

 

4. 启动 SSH 代理并添加密钥

# 启动 SSH 代理
eval "$(ssh-agent -s)"

# 添加密钥
ssh-add /c/ssh_keys/id_ed25519

 

5. 复制公钥到 GitHub

# 显示公钥内容
cat /c/ssh_keys/id_ed25519.pub

复制输出的全部内容,然后添加到 GitHub 的 SSH keys 中。

设置完成后,测试链接

ssh -T git@github.com

当出现Are you sure you want to continue connecting (yes/no/[fingerprint])?的提示时,输入yes

最后,当出现

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

的提示时,说明

  1. SSH 密钥设置成功 ✅

  2. GitHub 已经识别了你的身份 ✅

  3. 现在可以正常使用 Git 操作了 ✅

大功告成,非常好使

posted @ 2025-10-17 00:06  大西young  阅读(61)  评论(0)    收藏  举报