当前位置: 首页 > news >正文

如何解决用户名文件夹是中文导致的识别不到路径,获取不到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。

相关文章:

  • 淘宝历史价格数据获取指南:API 与爬虫方案的合法性与效率对比
  • 大模型——字节跳动开源AI Agent框架Agent TARS:智能化自动化的新利器
  • 人工智能之数学基础:特征值和特征向量
  • 监控IP,网站将异常情况通过飞书机器人发至指定群内
  • xss-labs
  • Hive安装后续配置
  • 211、【图论】建造最大岛屿(Python)
  • 个人学习编程(3-24) 数据结构
  • vite中sass警告JS API过期
  • 智能语言交互,AI 对话引领生活变革
  • HarmonyOS Next~鸿蒙AI功能开发:Core Speech Kit与Core Vision Kit的技术解析与实践
  • el-select下拉框,搜索时,若是匹配后的数据有且只有一条,则当失去焦点时,默认选中该条数据
  • Vue2与Vue3中TS子组件传值给父组件
  • Chair Assembly Process
  • 服务器入门笔记
  • 2.5 微分
  • Apache Dubbo Pixiu打造微服务生态的轻量级 API 网关
  • 【测试工具】如何使用 burp pro 自定义一个拦截器插件
  • 3.23-libevent
  • Android Studio常见问题解决
  • 媒体:酒店、民宿临时毁约涨价,怎么管?
  • 学有质量、查有力度、改有成效,广大党员干部落实中央八项规定精神
  • 国铁集团郑州局预计“五一”发送642.5万人
  • 胸外科专家查出肺多发结节,说了一个可怕的事实……
  • 光明网评“泉州梦嘉商贸楼不到5年便成危楼”:监管是否尽职尽责?
  • 三位成功女性,如何应对失败