如果你不想更改你的文件夹用户名导致之前配置的环境变量及相关软件失效,那么只需要指定自定义路径生成密钥
完整解决方案
1. 设置一个简单的 HOME
路径
由于你的用户名包含中文字符,导致默认路径 无法正确解析。我们可以通过修改 HOME
环境变量,将其指向一个简单的路径(例如 /d/Git-doc/test
)。
-
打开 Git Bash。
-
手动创建文件夹 mkdir -p /d/Git-doc/test/.ssh
运行以下命令,临时修改HOME环境变量
export HOME=/d/Git-doc/test这将使 SSH 相关的文件(如
.ssh
目录和known_hosts
文件)保存在/d/Git-doc/test/.ssh/
下。
2. 生成 SSH 密钥
在修改 HOME
环境变量后,生成 SSH 密钥。
-
运行以下命令生成 SSH 密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
将
your_email@example.com
替换为你的邮箱地址(可选,仅用于标识密钥)。 -
当提示保存路径时,直接按回车键使用默认路径(
/d/Git-doc/test/.ssh/id_rsa
)。 -
如果提示输入密码(passphrase),可以留空(直接按回车),或者设置一个密码以增加安全性。
-
-
生成成功后,你会看到类似以下的输出:
复制
Your identification has been saved in /d/Git-doc/test/.ssh/id_rsa Your public key has been saved in /d/Git-doc/test/.ssh/id_rsa.pub
3. 将公钥添加到 Gitee
将生成的公钥添加到 Gitee 的 SSH 密钥设置中。
-
查看公钥内容:
cat /d/Git-doc/test/.ssh/id_rsa.pub
-
复制输出的公钥内容(从
ssh-rsa
开始,到你的邮箱结束)。 -
登录 Gitee,进入 设置 > SSH 公钥。
-
在 标题 字段中,为你的密钥命名(例如
My Laptop
)。 -
在 公钥 字段中,粘贴你刚刚复制的公钥内容。
-
点击 确定 保存。
4. 测试 SSH 连接
完成上述步骤后,测试 SSH 连接。
-
运行以下命令测试连接:
ssh -T git@gitee.com
-
如果这是第一次连接,你会看到以下提示:
The authenticity of host 'gitee.com (180.76.199.13)' can't be established. ED25519 key fingerprint is SHA256:+ULzij2u99B9eWYFTw1Q4ErYG/aepHLbu96PAUCoV88. Are you sure you want to continue connecting (yes/no/[fingerprint])?
输入
yes
并按回车。 -
如果成功,你会看到类似以下的输出:
复制
Hi 你的用户名! You've successfully authenticated, but GITEE.COM does not provide shell access.
如果依然不正确尝试以下办法
1. 修复文件权限
-
设置私钥文件(
id_rsa
)的权限为600
:chmod 600 /d/Git-doc/test/.ssh/id_rsa
-
设置公钥文件(
id_rsa.pub
)的权限为644
:chmod 644 /d/Git-doc/test/.ssh/id_rsa.pub
-
设置
.ssh
目录的权限为700
:chmod 700 /d/Git-doc/test/.ssh
-
检查权限是否正确:
ls -al /d/Git-doc/test/.ssh/
你应该看到类似以下的输出:
drwx------ 1 user user 0 Mar 24 14:32 ./ drwxr-xr-x 1 user user 0 Mar 24 14:45 ../ -rw------- 1 user user 3381 Mar 24 14:28 id_rsa -rw-r--r-- 1 user user 744 Mar 24 14:28 id_rsa.pub
2. 确保私钥已正确加载
SSH 客户端需要加载正确的私钥文件。你可以通过以下步骤确保私钥被正确加载。
-
启动 SSH 代理:
eval $(ssh-agent -s)
-
将私钥添加到 SSH 代理:
ssh-add /d/Git-doc/test/.ssh/id_rsa
如果私钥有密码,系统会提示你输入密码。
-
检查私钥是否已加载:
ssh-add -l
你应该看到类似以下的输出,表示私钥已加载:
复制
4096 SHA256:0FgKkmwbLBN/DWhF75EWqwwap+Ne6Hr/ZXRaS/FUsqE /d/Git-doc/test/.ssh/id_rsa (RSA)
3. 确保公钥已正确添加到 Gitee
-
查看公钥内容:
cat /d/Git-doc/test/.ssh/id_rsa.pub
-
复制输出的公钥内容(从
ssh-rsa
开始,到你的邮箱结束)。 -
登录 Gitee,进入 设置 > SSH 公钥。
-
在 标题 字段中,为你的密钥命名(例如
My Laptop
)。 -
在 公钥 字段中,粘贴你刚刚复制的公钥内容。
-
点击 确定 保存。
4. 测试 SSH 连接
完成上述步骤后,再次测试 SSH 连接:
ssh -T git@gitee.com
如果成功,你会看到类似以下的输出:
复制
Hi 你的用户名! You've successfully authenticated, but GITEE.COM does not provide shell access.
总结
-
修复私钥文件和
.ssh
目录的权限。 -
确保私钥已正确加载到 SSH 代理。
-
确保公钥已正确添加到 Gitee。