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

DDEV环境无法建立SSH隧道至外部服务问题求助

解决DDEV环境中无法建立外部SSH连接及隧道的问题

先排查基础网络连通性

在DDEV容器内先测试能否连通目标服务器:

  • 执行 ddev exec ping apiservice.xxx,确认域名可解析且能收到响应
  • 执行 ddev exec telnet apiservice.xxx 22,检查22端口是否能正常访问

如果以上两步失败,说明是容器网络的出站问题,按以下方式处理:

调整DDEV网络配置

  1. 检查Docker网络设置:确保Mac上的Docker Desktop网络设置未限制出站连接,比如是否开启了不合理的代理,或防火墙规则阻止了Docker的网络请求。
  2. 临时切换容器网络模式:
    在项目的.ddev/config.yaml中添加或修改:
    network_mode: "host"
    
    执行ddev restart后重试SSH连接。注意:此模式下容器共享主机网络,可能与其他服务端口冲突,仅用于测试验证。
  3. 重置DDEV网络:
    执行ddev poweroff,重启Docker Desktop后再启动DDEV项目,尝试重新连接。

修正SSH命令的错误

你当前使用-i ~/.ssh/mykey.pub指定的是公钥文件,SSH连接需要使用私钥文件(通常是不带.pub后缀的文件),正确命令应为:

ddev exec ssh -i ~/.ssh/mykey -v -L 8080:xx.xx.xx.xxx:8080 bla@apiservice.xxx

关于SSH隧道的本地访问(按需配置)

如果需要从Mac本地访问DDEV容器内建立的SSH隧道,需将容器的8080端口映射到主机,在.ddev/config.yaml中添加:

web_extra_exposed_ports:
- name: ssh-tunnel
  container_port: 8080
  host_port: 8080

执行ddev restart后,本地访问localhost:8080即可通过隧道连接到目标服务。

内容的提问来源于stack exchange,提问作者Jacco van der Post

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 21:43:32