You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git SSH公钥权限拒绝及主机解析失败问题求助

Git SSH操作故障排查与解决

问题现象

  1. 执行Git克隆命令时出现公钥权限拒绝错误:
$ git clone ssh://git@stash.gto.intranet.com:7999/~shashank.khanduja@test.com/hello-java.git
Cloning into 'hello-java'...
git@stash.gto.intranet.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
  1. 测试SSH连接时因命令格式错误,导致主机名解析失败:
ssh -T git@stash.gto.intranet.com:7999
ssh: Could not resolve hostname stash.gto.intranet.com:7999: Name or service not known

已尝试删除.ssh文件夹并重新生成密钥,问题仍未解决。

解决步骤

1. 修正SSH测试命令格式

SSH命令中端口号不能直接跟在主机名后用冒号拼接,需用-p参数指定端口,正确测试命令为:

ssh -T -p 7999 git@stash.gto.intranet.com

先执行此命令确认基础SSH连接是否正常。

2. 验证SSH密钥配置

  • 修复密钥文件权限:.ssh文件夹权限必须为700,私钥文件(如id_rsa)权限为600,公钥文件(如id_rsa.pub)可设为644,执行以下命令修正:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/id_rsa
    chmod 644 ~/.ssh/id_rsa.pub
    
  • 确认公钥已添加至Stash账号:登录Stash平台,进入个人设置→SSH密钥,检查是否存在当前生成的公钥内容(可通过cat ~/.ssh/id_rsa.pub查看公钥)。
  • 加载密钥至SSH代理:执行ssh-add ~/.ssh/id_rsa,若提示代理未启动,先启动代理再加载:
    eval $(ssh-agent -s)
    ssh-add ~/.ssh/id_rsa
    

3. 检查Git远程URL合法性

针对已克隆的仓库,执行以下命令检查远程URL格式是否正确:

git remote -v

确保URL为ssh://git@stash.gto.intranet.com:7999/xxx/xxx.git格式,无拼写错误或多余符号。

4. 排查网络与DNS问题

  • 测试主机解析:执行ping stash.gto.intranet.com,若解析失败,可手动修改hosts文件添加映射(Windows路径:C:\Windows\System32\drivers\etc\hosts;Linux/macOS路径:/etc/hosts),添加内容:
    <服务器实际IP> stash.gto.intranet.com
    
  • 测试端口连通性:执行telnet stash.gto.intranet.com 7999或nc -zv stash.gto.intranet.com 7999,确认7999端口未被防火墙或内网策略拦截。

内容的提问来源于stack exchange,提问作者sHaShAnk K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 18:05:05