很多人搜「ollama show api key」,是因为在客户端里填完地址后卡在「API Key 填什么」这一栏——填也不是,空着也不行。Ollama 的默认服务和你在云端买的按量接口不是一回事,鉴权逻辑完全不同。这篇按「先判断你有没有真的需要 Key」到「没需要时怎么把口子堵上」的顺序讲,最后给一套可以照着走的检查清单。
搜「ollama show api key」的人,十有八九是卡在客户端那一栏:地址填好了,Key 填也不是、空着又报错。问题在于你把 Ollama 跟云端按量接口当成了同一类东西——后者天生带账号体系,前者默认就是本机自用的服务,压根没有 Key 这个概念。
所以正确的顺序不是「去哪找 Key」,而是先判断你这台机器到底需不需要鉴权。这篇按「先看默认状态 → 再判断要不要自己加 → 要加加在哪 → 不加怎么堵口子」走一遍,每一步都给你能验证的动作。
默认跑起来的 Ollama 本来就没有 Key
官方安装完直接起的服务,设计前提就是同机调用:它只监听本机回环地址,不区分调用者身份,所以不存在「默认 Key」这种东西。你在客户端里翻遍设置也找不到,是因为它确实没生成过。任何告诉你「默认 Key 是某个字符串」的说法,都是把别家的逻辑套过来了。
- 默认 API Key
- 不存在。默认服务不做调用者身份校验,自然没有可查的 Key
- ollama account api key
- 本地服务没有账号体系,也就没有账号维度的 Key 可领
- 回环地址
- 指 127.0.0.1 这类只在本机内部可达的地址,外部网络碰不到
- 看监听地址:确认服务绑的是回环地址,不是那种对所有网卡开放的通配地址;
- 查环境变量:翻一下有没有人设过「把服务暴露到局域网」那类变量,设过就说明已经不是默认状态;
- 实测连通:从本机客户端不带任何 Key 直接请求,能通就说明这层校验你本来就不需要;
- 看端口来源:确认你连的端口是这台机器自己起的,还是连到了别人的中转/网关
什么情况下这个结论不成立?一旦有人把服务暴露到局域网甚至公网,默认状态就等于一扇没锁的门。这时候「没有 Key」不再是省事,而是风险。
什么时候你必须自己加一层 Key
Ollama 本身不提供多用户、配额、日志这些能力,这些都得你自己套在前面。判断标准其实只有一句话:除了你,还有谁能碰到这个端口。答不上来,就先别折腾 Key,先去确认监听范围。
| 场景 | 是否需要自己加鉴权 | 判断依据 |
|---|---|---|
| 单人单机、只在回环地址上跑 | 不需要 | 调用方只有本机的你自己 |
| 小团队共用一台内网机器 | 需要 | 要区分谁在调、调了多少、出问题找谁 |
| 把本地模型桥接成对外接口 | 需要 | 调用方不可信,必须能拦和能记账 |
| 本机接桌面客户端做实验 | 不需要,加了反而添乱 | 多一层校验就多一个出错点 |
反过来也要说清:什么情况加 Key 纯属给自己找麻烦。本机做实验、接桌面客户端,这类场景加一层只会让排错链路变长,收益几乎为零。一家 5 人小团队想给每人分额度,那是真有需求;一个人在自己笔记本上跑,那是自找麻烦。
真要加,加在哪一层
既然服务自己不校验,那你加的这一层就必须放在它前面。常见三条路径,按改动量从小到大排:反向代理统一收口、网关类程序做转发、在应用代码里校验一次再转给本地服务。
- 先确认裸连能通不带任何鉴权头直接请求本地服务,确认基线是通的。基线不通,后面每一步都会误判。
- 选一层加校验优先用现成反向代理收口,不动本地服务本身;能改代码就不动服务配置,改动越集中越好定位。
- 对齐头部字段名多数客户端按标准头格式传 Key,字段名对不上会直接返回未授权,而不是连不上——这两种报错要分清楚。
- 逐层加、逐层验先代理层过、再客户端填,每加一层测一次。一次全改,出问题就说不清断在哪。
选路径的顺序建议是:能用现成代理就不改客户端,能改代码就不动服务。把改动集中在一处,升级和回滚都轻松;散在三处,下次排查先懵的是你自己。
不加 Key 的话,把口子堵住
决定不加鉴权也行,但前提是把暴露面收干净。第一优先是绑定地址:确认只绑回环,别用通配地址;改完必须重启服务并复查实际监听状态,改配置不重启等于没改。
- 绑定地址:只绑回环,改完重启,再复查一次实际监听结果;
- 端口与防火墙:内网也建议限制来源网段,「在家里就安全」不成立;
- 别整台机器暴露:模型目录、调试端口往往比模型服务更怕见人;
- 复查节奏:每次升级、每次改环境变量、每次换网络环境后,把这份清单重跑一遍
想把加固判断做得更细,可以对照站内工具目录里同类自建服务的暴露面检查项,逐条对齐自己的环境。别靠记忆,靠清单。
没有 Key 不等于不安全,真正决定安全的是这个端口全网有几个人能碰到。下一步如果你正在把本地模型接进某个第三方客户端,先去站内中转站导航页对照它的鉴权要求和地址填写方式,再决定是自己加代理还是直接换接入方式,比反复猜 Key 填什么快得多。→
常见问题
Ollama 能在命令行里直接 show 出 api key 吗?
不能。它默认不发 Key、也没有账号和 Key 列表,所以不存在一个存 Key 的地方给你打印。你在客户端里看到的 Key 输入框,通常是沿用别的接口格式留下的字段,本地服务并不校验它;真要填,填任意占位字符串即可。想确认服务状态,去看监听地址和调用日志,比找 Key 有用。
客户端提示 401 或鉴权失败,是不是因为没配 Key?
多数不是。本地服务若不校验 Key,401 往往来自中间那层代理、网关或者客户端把地址填成了带路径的转发地址。排查顺序是:先用命令行直接打本地端口确认能通,再逐步加上代理和客户端;能在哪一层复现,问题就在哪一层,不要一上来就到处找 Key。
内网给小团队共用,最省事的做法是什么?
建议在本地服务前面放一个能校验请求头的转发程序,Key 由你生成并分发给成员,服务本身仍然只绑在本机或内网地址。这样既能记调用量、也方便随时吊销某个人的 Key。注意这套做法只解决「谁能调」,不解决「用得多快」,并发和排队还得另外限。