OpenClaw启动失败因端口被占用,需查杀占用进程、修改config.yaml中ssh_port为未占用端口(如3023)、添加防火墙入站规则,最后重启服务并用netstat验证LISTENING状态。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw启动失败提示“Address already in use”或连接被拒绝,大概率是它默认尝试监听的端口(如22、2222、3022等)已被Windows OpenSSH服务、WSL2 SSH、Gitea或其他本地程序占用,必须手动指定一个空闲端口并确保服务能绑定成功。
确认当前哪个进程占用了目标端口
打开管理员权限的 PowerShell,运行:
Get-NetTCPConnection -LocalPort 22 | Select-Object OwningProcess, State
把22换成你想改的目标端口(比如3022),如果返回非空结果,记下OwningProcess列的PID值。
再用这个PID查进程名:
Get-Process -Id 【PID值】 | Select-Object ProcessName, Path
常见占用者:sshd.exe(Windows OpenSSH)、gitea.exe、wsl.exe(WSL2)、或者某个残留的node进程。不杀掉占用者就改配置,OpenClaw照样起不来。
修改OpenClaw的SSH监听端口
找到OpenClaw安装目录下的配置文件,通常是 config.yaml 或 app.ini —— 具体路径取决于你安装时的选择,常见位置有:
C:\Program Files\OpenClaw\config.yaml
或 %APPDATA%\OpenClaw\config.yaml
用记事本或VS Code打开该文件,在 server 或 ssh 相关区块里找 port、listen_port、ssh_port 这类字段;如果没有,就手动添加一行(注意YAML缩进):
ssh_port: 3023
面向代理工作区的网络数据防泄漏。扫描技能和文件中的出站URL、数据泄露端点、可疑域名及网络函数调用。映射所有外部连接。免费告警层——升级至openclaw‑egress‑pro可实现阻断、隔离和URL白名单。
【必须保证该端口号未被其他任何服务监听,且大于1024】 建议避开22、2222、3000、3022、8080这些高频端口,直接选3023、3024、50022这类冷门值。
开放新端口的Windows防火墙入站规则
管理员身份运行 PowerShell,执行:
New-NetFirewallRule -Name "OpenClaw-SSH-In" -DisplayName "OpenClaw SSH Server" -Enabled True -Direction Inbound -Protocol TCP -LocalPort 【你刚设的端口号】 -Action Allow
这一步漏掉,外网或局域网其他设备根本连不到你的OpenClaw。Windows Defender防火墙默认会拦截所有未明确放行的入站连接,哪怕服务本身已正常启动。
重启OpenClaw服务并验证监听状态
第一步:停止正在运行的OpenClaw进程(任务管理器 → 详细信息 → 找到openclaw.exe → 结束任务);
第二步:以管理员身份运行OpenClaw安装目录下的 openclaw.exe 或通过服务管理器重启 OpenClaw Service;
第三步:立刻验证是否成功监听:
netstat -ano | findstr :【你设的端口号】
如果输出中出现 LISTENING 状态,且 PID 对应的是 openclaw.exe 进程,说明端口已成功切换并生效。

















