Windows下Git推送到远程报“Network is unreachable”错误求助
解决Git Push到Dokku(EC2)时的SSH连接错误
核心问题排查与修复步骤
1. 修正Git远程仓库地址
你当前使用的address.of.the.host大概率是无效占位符或错误域名,直接替换为EC2实例的公网IP或官方DNS地址:
# 删除错误的远程仓库 git remote remove prod # 添加正确地址(替换<ip-address>为你的EC2公网IP) git remote add prod dokku@ec2-<ip-address>.sa-east-1.compute.amazonaws.com:app-name
执行git remote --verbose确认地址已更新。
2. 测试Dokku用户的SSH连通性
直接验证Dokku用户的SSH通道是否正常:
ssh -i "C:\Users\Myself\Documents\project_name\key-file-name.pem" dokku@ec2-<ip-address>.sa-east-1.compute.amazonaws.com
- 若连接成功,说明Dokku用户权限正常,可跳过此步;
- 若连接失败,重新给Dokku用户添加公钥:
type C:\Users\Myself\.ssh\id_rsa.pub | ssh -i "C:\Users\Myself\Documents\project_name\key-file-name.pem" ubuntu@ec2-<ip-address>.sa-east-1.compute.amazonaws.com sudo dokku ssh-keys:add my-key
3. 确认EC2安全组入站规则
登录AWS控制台检查EC2实例的安全组:
- 确保入站规则包含
SSH(22端口),源地址设为你的本地IP(临时测试可设为0.0.0.0/0,测试后改回本地IP)。
4. 配置Windows SSH简化连接(可选但推荐)
在C:\Users\Myself\.ssh\目录创建无后缀的config文件,添加内容:
Host dokku-prod HostName ec2-<ip-address>.sa-east-1.compute.amazonaws.com User dokku IdentityFile C:\Users\Myself\Documents\project_name\key-file-name.pem
更新Git远程仓库:
git remote remove prod git remote add prod dokku-prod:app-name
后续git push prod master会自动使用该配置,避免路径或密钥指定错误。
5. 重置SSH Agent(Windows环境)
若密钥未被正确识别,重置SSH Agent:
# 清除所有已添加的密钥 ssh-add -D # 重新添加PEM密钥 ssh-add "C:\Users\Myself\Documents\project_name\key-file-name.pem"
内容的提问来源于stack exchange,提问作者JulesMG
相关产品推荐
相关产品推荐

