欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 如何解决用户名文件夹是中文导致的识别不到路径,获取不到ssh密匙

如何解决用户名文件夹是中文导致的识别不到路径,获取不到ssh密匙

2025/3/29 20:06:28 来源:https://blog.csdn.net/2403_86264751/article/details/146474800  浏览:    关键词:如何解决用户名文件夹是中文导致的识别不到路径,获取不到ssh密匙

如果你不想更改你的文件夹用户名导致之前配置的环境变量及相关软件失效,那么只需要指定自定义路径生成密钥

完整解决方案

1. 设置一个简单的 HOME 路径

由于你的用户名包含中文字符,导致默认路径 无法正确解析。我们可以通过修改 HOME 环境变量,将其指向一个简单的路径(例如 /d/Git-doc/test)。

  1. 打开 Git Bash。

  2. 手动创建文件夹
    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 密钥。

  1. 运行以下命令生成 SSH 密钥:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    • 将 your_email@example.com 替换为你的邮箱地址(可选,仅用于标识密钥)。

    • 当提示保存路径时,直接按回车键使用默认路径(/d/Git-doc/test/.ssh/id_rsa)。

    • 如果提示输入密码(passphrase),可以留空(直接按回车),或者设置一个密码以增加安全性。

  2. 生成成功后,你会看到类似以下的输出:

    复制

    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 密钥设置中。

  1. 查看公钥内容:

    cat /d/Git-doc/test/.ssh/id_rsa.pub
  2. 复制输出的公钥内容(从 ssh-rsa 开始,到你的邮箱结束)。

  3. 登录 Gitee,进入 设置 > SSH 公钥

  4. 在 标题 字段中,为你的密钥命名(例如 My Laptop)。

  5. 在 公钥 字段中,粘贴你刚刚复制的公钥内容。

  6. 点击 确定 保存。


4. 测试 SSH 连接

完成上述步骤后,测试 SSH 连接。

  1. 运行以下命令测试连接:

    ssh -T git@gitee.com
  2. 如果这是第一次连接,你会看到以下提示:

    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 并按回车。

  3. 如果成功,你会看到类似以下的输出:

    复制

    Hi 你的用户名! You've successfully authenticated, but GITEE.COM does not provide shell access.

如果依然不正确尝试以下办法

1. 修复文件权限
  1. 设置私钥文件(id_rsa)的权限为 600

    chmod 600 /d/Git-doc/test/.ssh/id_rsa
  2. 设置公钥文件(id_rsa.pub)的权限为 644

    chmod 644 /d/Git-doc/test/.ssh/id_rsa.pub
  3. 设置 .ssh 目录的权限为 700

    chmod 700 /d/Git-doc/test/.ssh
  4. 检查权限是否正确:

    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 客户端需要加载正确的私钥文件。你可以通过以下步骤确保私钥被正确加载。

  1. 启动 SSH 代理:

    eval $(ssh-agent -s)
  2. 将私钥添加到 SSH 代理:

    ssh-add /d/Git-doc/test/.ssh/id_rsa

    如果私钥有密码,系统会提示你输入密码。

  3. 检查私钥是否已加载:

    ssh-add -l

    你应该看到类似以下的输出,表示私钥已加载:

    复制

    4096 SHA256:0FgKkmwbLBN/DWhF75EWqwwap+Ne6Hr/ZXRaS/FUsqE /d/Git-doc/test/.ssh/id_rsa (RSA)

3. 确保公钥已正确添加到 Gitee
  1. 查看公钥内容:

    cat /d/Git-doc/test/.ssh/id_rsa.pub
  2. 复制输出的公钥内容(从 ssh-rsa 开始,到你的邮箱结束)。

  3. 登录 Gitee,进入 设置 > SSH 公钥

  4. 在 标题 字段中,为你的密钥命名(例如 My Laptop)。

  5. 在 公钥 字段中,粘贴你刚刚复制的公钥内容。

  6. 点击 确定 保存。


4. 测试 SSH 连接

完成上述步骤后,再次测试 SSH 连接:

ssh -T git@gitee.com

如果成功,你会看到类似以下的输出:

复制

Hi 你的用户名! You've successfully authenticated, but GITEE.COM does not provide shell access.

总结

  • 修复私钥文件和 .ssh 目录的权限。

  • 确保私钥已正确加载到 SSH 代理。

  • 确保公钥已正确添加到 Gitee。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词