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

使用Ansistrano部署私有GitHub仓库时出错,求解决方法

解决私有GitHub仓库部署服务器权限问题的步骤

1. 验证服务器上的私钥配置

  • 登录服务器,检查~/.ssh目录下的私钥文件(通常为id_rsa)是否存在,且权限设置为600(权限过宽会被SSH拒绝):
    ls -l ~/.ssh/id_rsa
    chmod 600 ~/.ssh/id_rsa
    
  • 确认私钥对应的公钥已完整添加到GitHub账号的SSH密钥列表中,注意不要有多余空格、换行或格式错误。

2. 测试SSH与GitHub的连通性

在服务器上执行以下命令验证权限:

ssh -T git@github.com
  • 返回Hi [你的用户名]! You've successfully authenticated, but GitHub does not provide shell access.说明权限正常;
  • 若提示Permission denied (publickey),先确保私钥被ssh-agent加载:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
    
  • 若提示主机密钥验证失败,清理旧的GitHub主机记录:
    ssh-keygen -R github.com
    

3. 检查部署使用的仓库地址

确保部署脚本/命令中使用的是SSH格式的仓库地址(git@github.com:用户名/仓库名.git),而非HTTPS地址——HTTPS模式会触发密码验证,私有仓库场景下容易因凭证问题失败。

4. 确认服务器用户的SSH目录权限

如果用非root用户部署,保证该用户的~/.ssh目录权限为700,目录内所有文件权限为600:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

5. 排查GitHub端SSH密钥有效性

  • 登录GitHub账号,进入Settings > SSH and GPG keys,检查对应公钥是否未过期、未被删除;
  • 确认该公钥确实是服务器生成的那对,不要混淆本地与服务器的密钥对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:17:02