Cockpit 简介

Cockpit 是一个免费且开源的基于 Web 的 Linux 服务器管理工具,它提供了一个用户友好的界面,使得用户可以通过浏览器轻松管理和监控 Linux 服务器。它允许系统管理员通过一个 Web 界面执行各种系统管理任务,而无需在命令行中输入复杂的命令。Cockpit 支持各种操作系统和 Linux 发行版,如 Fedora、RHEL、CentOS、Debian 和 Ubuntu。

Cockpit 的功能和特点

  • 使用 systemd 完成从运行守护进程到服务几乎所有的功能。

  • 集中式管理,通过一个会话窗口管理网络中的所有 Linux 服务器。

  • 创建和管理 KVM、oVirt 虚拟机。

  • 包括 LVM 在内的存储配置。

  • 基本的网络配置管理。

  • 用户账号管理。

  • 基于 Web 的终端。

  • 图形化的系统性能展示。

  • 使用 sosreport 收集系统配置和诊断信息。

  • 支持多种 Linux 发行版,如 Debian、Redhat、CentOS、Fedora、Atomic、Arch Linux 和 Ubuntu。

Cockpit 的部署

部署 Cockpit 的步骤通常包括以下几个方面:

  1. 安装 Cockpit

  • 对于 CentOS 8 和 RHEL 8,Cockpit 已经预装,可以通过 systemctl start cockpit.socket 命令启动。

  • 对于其他发行版,通常可以通过包管理器安装。例如,在 Debian 或 Ubuntu 上,可以使用 apt install cockpit 命令进行安装。

  • 配置防火墙

    • 如果服务器配置了防火墙,需要允许 Cockpit 使用的端口(默认为 9090)。例如,在 CentOS 上,可以使用 firewall-cmd --permanent --zone=public --add-service=cockpit 命令开放端口。

  • 启动 Cockpit 服务

    • 通过 systemctl start cockpit.socket 命令启动 Cockpit 服务,并使用 systemctl enable cockpit.socket 设置开机自启。

  • 访问 Cockpit 界面

    • 在浏览器中输入 http://服务器IP:9090 即可访问 Cockpit 的 Web 界面,输入用户密码后登录,首次登录不能用root用户登录。下面会详细说明如何允许root用户登录。

      Cockpit 一个免费且开源的基于 Web 的 Linux 服务器管理工具
  • 配置 SSL(可选)

    • 为了提高安全性,可以为 Cockpit 配置 SSL 证书。这通常涉及到配置 Nginx 或其他反向代理服务器,以及获取和安装 SSL 证书。

  • 添加其他机器(可选)

    • 如果需要管理多台服务器,可以在 Cockpit 的 Web 界面中添加其他安装了 Cockpit 并通过 SSH 可访问的机器。

    注意事项

    Cockpit 默认情况下确实不允许 root 用户登录,这是出于安全考虑。但是,如果需要允许 root 用户登录 Cockpit,可以通过修改配置文件来实现。

    以下是允许 root 用户登录 Cockpit 的步骤:

    1. 打开 /etc/cockpit/disallowed-users 配置文件。这个文件中列出了不允许登录 Cockpit 的用户列表。默认情况下,root 用户被列在其中。

    2. 编辑该文件,删除或注释掉 root 这一行。可以通过以下命令来编辑文件:

      $ sudo vim /etc/cockpit/disallowed-users

      在文件中,你会看到类似这样的内容:

      # List of users which are not allowed to login to Cockpit
      # root

      直接删除root这一行。

    3. 保存并关闭文件。这样,root 用户就被允许登录 Cockpit 了。

    4. 重启 Cockpit 服务以使更改生效:

      $ sudo systemctl restart cockpit.socket

    请注意,出于安全考虑,通常不建议在生产环境中允许 root 用户直接登录 Cockpit 或其他管理工具。相反,建议使用具有适当权限的非 root 用户来执行管理任务。如果确实需要 root 权限,可以通过 sudo 来获取。