Cockpit安装需按发行版选用对应命令:RHEL/CentOS/Rocky/AlmaLinux 8+用dnf install cockpit cockpit-machines cockpit-storaged;7系先yum install epel-release再yum install cockpit;Ubuntu 20.04+/Debian 11+用apt install cockpit并可选cockpit-podman;树莓派OS同Debian系。启动cockpit.socket后需确认端口监听、防火墙放行cockpit服务、用户具备wheel/sudo组权限,且后端服务(如libvirtd、podman、udisks2)已运行。
别直接抄网上“一行万能安装命令”——dnf、yum、apt 不能乱换,否则依赖解析失败或服务根本起不来。
dnf install cockpit cockpit-machines cockpit-storaged(cockpit-machines 是 KVM 虚拟机管理必需,漏掉就看不到虚拟机菜单)yum install epel-release,再 yum install cockpit;cockpit-docker 已弃用,改用 cockpit-podman
apt install cockpit 即可;需要容器支持?额外装 cockpit-podman(不是 cockpit-docker)apt install cockpit,体积小(约 115MB 总占用),装完自动启服务cockpit.socket 是 socket-activated 服务,systemctl status cockpit.socket 显示 active ≠ 实际在监听 —— 它只在第一个 HTTPS 请求到达时才拉起 cockpit-ws 进程。
ss -tlnp | grep :9090,没输出说明 socket 没触发或被其他配置覆盖firewall-cmd --add-service=cockpit(预定义服务),不是 --add-port=9090/tcp;后者在 Rocky 9 等系统上可能被 SELinux 拦截ufw allow 9090 不够,得写全 ufw allow proto tcp to any port 9090,否则 TLS 握手阶段就被 DROPCockpit 认证走的是系统 PAM,不是独立账号体系,所有权限限制都来自底层策略。
root 登录被拒:编辑 /etc/cockpit/disallowed-users,删掉或注释掉 root 行,然后 systemctl restart cockpit.socket(注意不是 cockpit.service)sudo 权限 —— Cockpit 需调用 systemd、libvirt 等特权接口,用户必须在 wheel 组(RHEL 系)或 sudo 组(Debian 系)/var/log/secure 或 journalctl -u cockpit,常见是 PAM 模块加载失败或 cockpit-session 进程崩溃Cockpit 本身不提供服务,只是 Web 封装层。点开“容器”菜单灰色?不是 Cockpit 装错了,是 podman 或 libvirtd 没跑起来。
libvirtd 正在运行(systemctl start libvirtd),且当前用户有访问权限(usermod -aG libvirt $USER)cockpit-storaged 包已装,但 udisks2 服务未启动或被禁用cockpit-kubernetes 只在真正运行 k8s 的节点上有意义,非集群节点装了反而拖慢首页加载最容易被忽略的点:Cockpit 默认用自签名证书,浏览器报“不安全”是正常现象,但如果你在内网用 IP 访问却提示证书域名不匹配,说明生成证书时没绑定该 IP —— 这时候不能只点“继续访问”,得手动重建证书或配 DNS 别名。