跳转至主要内容
晴雨技术笔记

Cockpit 服务器运维工具

杏川铭心 杏川铭心
最后编辑于 2026年7月8日
  • 本文最后编辑于 1 天内,内容新鲜,请放心阅读。
  • Cockpit 是一个服务器运维面板,什么意思呢,就是只有运维功能,不能搭建网站,对于希望有一个轻量化的面板来辅助查看服务器信息的人来说会非常友好。其本身十分轻量,而且因为因为是红帽带头搞的,设计上也十分优雅,非常好用,而且完全免费。

    Cockpit 的功能

    默认的功能其实非常少:

    • 网页终端
    • 管理服务
    • 查看日志
    • 重启和关闭服务器
    • 系统更新
    • 等各种基础功能

    但 Cockpit 最厉害的地方在于可以安装插件,安装插件后 Cockpit 能管理的内容就变多了起来:

    • 文件管理器
    • 防火墙
    • Podman 镜像管理
    • KVM 虚拟机管理
    • 内核转储
    • SELinux 管理
    • 等各种功能

    还是十分值得一试的。

    安装 Cockpit

    Cockpit 支持一大票的系统,不过因为是红帽主导开发的,对 Fedora 系的系统支持会好不少,例如 Fedora,RHEL,AlmaLinux 等。Ubuntu 和 Debian 也是可以装的,但由于 Cockpit 发展的速度很快,建议使用最新版的系统来操作,否则很可能遇到插件装不上的问题。

    Fedora

    sudo dnf install cockpit

    Ubuntu

    . /etc/os-release
    sudo apt install -t ${VERSION_CODENAME}-backports cockpit

    更多安装命令请参见官网

    启用 Cockpit

    我反正只用 SystemD,似乎 Cockpit 的架构也只支持 SystemD。

    sudo systemctl enable --now cockpit.socket

    注意 Cockpit 的主要 SystemD 项目是一个 Socket 而不是 Service,哪天想临时关闭面板的时候也一定要记得同时停止 cockpit.socket 和 cockpit.service,单纯停止后者的话随时会被 cockpit.socket 唤醒。启用和禁用的时候也需要操作 cockpit.socket 而不是 cockpit.service,后者是一个静态服务,不能被启用或者禁用。

    访问面板

    默认端口号是 9090,自签名 SSL 证书,无视风险继续即可。

    Cockpit 证书不受信任。

    然后输入任何一个拥有完整 sudo 权限或 root 账户的凭据登录。

    登录到 Cockpit。

    这就是 Cockpit 的主页了。

    Cockpit 面板首页。

    关于管理员模式

    Cockpit 比较有意思的一点是敏感权限默认情况下是禁用的,执行时需要先开启管理员模式,有一个二次确认的过程,这样可以防止你离开的时候服务器被线下攻击。在不知道密码的情况下,没办法通过面板干任何事情。

    输入密码以切换到管理员权限。

    就是离开的时候不要忘记返回限制模式……

    为 Cockpit 安装插件

    Cockpit 一大特色是它的插件功能。可惜的是一键安装只对 Fedora 系的系统支持较好(RPM 源里面都有),Debian 系就很惨了,只支持一键安装两个插件,Networking 和 Storage,也就是可以管理网卡和硬盘,而且默认都已经装上了。

    因此这里我们以官方的文件管理器(cockpit-project/cockpit-files)为例,介绍一下手动安装的流程。

    其它插件可以在这里找到:Applications — Cockpit Project

    安装环境

    Cockpit 是使用 Node.js 编写的,因此先安装相关环境。

    sudo apt install gettext nodejs npm make

    下载源码

    git clone https://github.com/cockpit-project/cockpit-files.git
    cd cockpit-files
    make

    安装插件

    sudo make install

    很经典,这样插件就安装成功了。由于 Cockpit 本身的特性,安装成功后无需重启面板,直接刷新一下后台就有了。

    Cockpit 上的服务器文件管理器。

    还是要注意一下由于 Ubuntu 仓库里的 Cockpit 更新可能会比较慢,不一定所有的插件都可以支持,像我上一次尝试安装文件管理器的时候就出错了……

    至此你应该就学会了 Cockpit 的基本用法,好好享受吧!

    常见问题

    Ubuntu 下的 Cockpit 无法检查软件更新

    主要是因为 Ubuntu Server 默认会同时安装 NetworkManager 和 systemd-networkd,而更新软件所依赖的 PackageKit 偏好 NetworkManager,又因为实际管理网络的是 systemd-networkd,就会导致 PackageKit 认为系统没有联网而拒绝检查更新。

    解决方法也很简单,禁用 NetworkManager,然后重启 PackageKit 服务即可。

    sudo systemctl disable --now NetworkManager.service
    sudo systemctl restart packagekit.service

    Intel Safari、GNOME Web 登录失败

    这两个都是使用 WebKit 内核的浏览器,主要是因为 WebKit 对于不信任的证书默认拒绝 WebSocket 连接。解决方法其实 Cockpit 自己都会告诉你,就是自行下载 Cockpit 所使用的证书并且添加信任。

    iOS、Apple Silicon Mac 设备登录失败

    这些设备相比于上面那俩还要复杂一点,主要是因为这些设备默认不启用 WebSocket,导致 Cockpit 完全无法建立连接,需要在设置里打开相关功能,可以参考官网文章:Use Cockpit with Safari on an iPhone or iPad — Cockpit Project

    封面图源:Cockpit Project 官网首页

    • 特别提醒:

      评论看到就会回,但是不保证速度,有的时候站长忘记看的话就会出现审核好几天也没有动静的情况……

      有垃圾评论检查,如果评论之后直接消失、没反应说明被识别为垃圾评论了。

      如果等不及的话,可以加群!

    杏川铭心
    杏川铭心

    群号:1101838302,欢迎友好交流 :P 曾用名Frank419(现在也是我在很多地方的用户名),网站站长。

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注