Cockpit
Cockpit 是一个基于浏览器的 Linux 管理工具,由 Red Hat 赞助。
安装
安装 cockpit 包。查看可选依赖项,了解管理网络连接、软件包和硬盘所需的软件包。
要获得其他功能,请安装以下软件包之一
- cockpit-machines 用于通过 libvirt 管理虚拟机
- cockpit-podman 用于管理 Podman 容器(取代已弃用的 cockpit-docker)
- cockpit-storaged 用于配置和监控系统上的存储、磁盘和挂载点。
- cockpit-packagekit 用于管理系统软件包。
- networkmanager 用于管理网络。
- firewalld 用于通过 Cockpit 中的网络管理防火墙。
- udisks2 用于管理存储。
- pcp 用于读取 PCP 指标和加载 PCP 存档。
用法
启动/启用 cockpit.socket 单元以启动 Cockpit [1]。
在 Web 浏览器中访问 https://:9090/ 以使用 Cockpit。使用您的 Linux 账户和密码登录。
配置
TLS 证书
默认情况下,Cockpit 使用自签名 TLS 证书。要使用正确的证书,请将后缀为 .cert 的证书及其对应的后缀为 .key 的密钥放入 /etc/cockpit/ws-certs.d/ 目录。Cockpit 将按字母顺序使用该文件夹中的最后一个 *.cert 文件,如果不存在,则回退到 0-self-signed.cert。证书和密钥必须可被 cockpit-ws 用户读取。重新启动 cockpit.service 以应用更改。有关更多信息,请参阅 官方文档页面。
限制网络访问仅限于本地地址
默认情况下,Cockpit 在端口 9090 上监听所有网络接口(0.0.0.0)。出于安全原因,您可能希望将接口的暴露限制为仅限于特定接口,或更改默认端口。
例如,要使接口仅监听本地地址,请创建一个 drop-in 文件
/etc/systemd/system/cockpit.socket.d/listen.conf
[Socket] ListenStream= ListenStream=127.0.0.1:9090 FreeBind=yes
或者,您可以使用 Unix 域套接字而不是 IP:端口绑定,方法是将 ListenStream 设置为您选择的路径,例如 /var/run/cockpit.sock,然后在一个具有反向代理功能的 Web 服务器中使用。
请注意,在这种情况下,应禁用 Cockpit 登录 MOTD,因为显示的文本将不再与您相关。
有关更多信息,请参阅 官方文档页面。
隐藏登录 MOTD
默认情况下,Cockpit 在 TTY 登录或 SSH 上显示 MOTD。 pam_motd(8) 建议创建符号链接来隐藏这些消息,但简单地删除这些文件也能起作用。
# rm /etc/motd.d/cockpit /etc/issue.d/cockpit.issue
为避免在升级 cockpit 时 pacman 重新创建原始文件,请创建 NoExtract 规则。
为避免 Cockpit 在重启时重新创建 cockpit.issue,请将 cockpit-issue.service 的 ExecStart 覆盖为 /usr/bin/true。