Cockpit 服务器管理面板安装配置指南

📦 安装 Cockpit

1. 更新系统

1
2
sudo apt update
sudo apt upgrade -y

2. 安装 Cockpit

1
sudo apt install -y cockpit

3. 启动并启用服务

1
2
3
4
5
6
7
8
# 启动 Cockpit 服务
sudo systemctl start cockpit.socket

# 设置开机自启
sudo systemctl enable cockpit.socket

# 检查服务状态
sudo systemctl status cockpit.socket

🔐 配置 Cockpit 访问

默认访问信息

  • 访问地址: https://服务器IP:9090
  • 默认账号: root(或其他有sudo权限的用户)
  • 密码: 用户的系统密码

示例访问地址

1
https://192.168.254.8:9090/

🔧 配置 Root 用户登录(针对 SUSE Linux Micro)

问题描述

在新安装的 SUSE Linux Micro 中,出于安全考虑,使用口令进行 root 登录默认处于禁用状态。

解决方法

允许使用口令进行 root 登录:

方法一:编辑配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1. 打开配置文件
sudo nano /etc/cockpit/disallowed-users

# 2. 从文件中去除 `root`
# 原始内容可能包含:
# root
# 删除或注释掉这一行(在前面加 #)

# 3. 修改后的内容示例:
# 这里列出不允许登录 Cockpit 的用户
# 如果要允许 root 登录,确保 root 不在这个列表中

# 4. 重启 Cockpit 服务
sudo systemctl restart cockpit

方法二:使用 sed 命令快速修改

1
2
3
4
5
# 注释掉 root 行
sudo sed -i 's/^root$/#root/' /etc/cockpit/disallowed-users

# 或者完全删除 root 行
sudo sed -i '/^root$/d' /etc/cockpit/disallowed-users

🔒 防火墙配置

开放 Cockpit 端口

1
2
3
4
5
6
7
8
9
10
# Ubuntu/Debian 使用 ufw
sudo ufw allow 9090/tcp
sudo ufw reload

# CentOS/RHEL/Fedora 使用 firewalld
sudo firewall-cmd --add-port=9090/tcp --permanent
sudo firewall-cmd --reload

# 或者使用 iptables(通用)
sudo iptables -A INPUT -p tcp --dport 9090 -j ACCEPT

🛠️ Cockpit 模块扩展

安装可选模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Docker 管理模块
sudo apt install -y cockpit-docker

# 虚拟机管理模块
sudo apt install -y cockpit-machines

# 存储管理模块
sudo apt install -y cockpit-storaged

# 网络管理模块
sudo apt install -y cockpit-networkmanager

# 软件包更新模块
sudo apt install -y cockpit-packagekit

# 安装所有常用模块
sudo apt install -y cockpit-docker cockpit-machines cockpit-storaged cockpit-networkmanager cockpit-packagekit

重启 Cockpit 应用更改

1
sudo systemctl restart cockpit

📊 Cockpit 功能特性

主要功能模块

  1. 系统概览 - CPU、内存、磁盘使用情况
  2. 日志查看 - 系统日志实时查看
  3. 存储管理 - 磁盘分区、RAID、LVM
  4. 网络管理 - 网络接口、防火墙配置
  5. 容器管理 - Docker 容器管理(需安装插件)
  6. 虚拟机管理 - KVM 虚拟机管理(需安装插件)
  7. 账户管理 - 用户和组管理
  8. 服务管理 - systemd 服务管理
  9. 软件更新 - 系统包更新管理
  10. 终端访问 - 网页版终端

访问方式

  • 本地访问: https://localhost:9090
  • 远程访问: https://服务器IP:9090
  • 域名访问: https://your-domain.com:9090

⚠️ 安全注意事项

1. 更改默认端口(可选)

1
2
3
4
5
6
7
8
9
10
11
12
# 编辑 Cockpit 配置文件
sudo nano /etc/cockpit/cockpit.conf

# 添加或修改以下内容
[WebService]
Port = 9191 # 更改为其他端口

# 重启服务
sudo systemctl restart cockpit.socket

# 防火墙开放新端口
sudo ufw allow 9191/tcp

2. 配置 SSL 证书(生产环境推荐)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装 Let's Encrypt 证书
sudo apt install -y certbot

# 获取证书(需要域名)
sudo certbot certonly --standalone -d your-domain.com

# 配置 Cockpit 使用 SSL 证书
sudo nano /etc/cockpit/cockpit.conf

# 添加以下内容
[WebService]
Protocol = https
Certificate = /etc/letsencrypt/live/your-domain.com/fullchain.pem
PrivateKey = /etc/letsencrypt/live/your-domain.com/privkey.pem

3. 限制访问IP(增强安全)

1
2
3
4
5
6
# 编辑配置文件
sudo nano /etc/cockpit/cockpit.conf

# 添加访问限制(示例:仅允许特定IP段)
[WebService]
AllowOrigins = https://192.168.1.0/24

🔍 故障排除

常见问题解决

1. 无法访问 Cockpit

1
2
3
4
5
6
7
8
9
10
11
# 检查服务状态
sudo systemctl status cockpit.socket

# 检查端口监听
sudo netstat -tulpn | grep 9090

# 检查防火墙
sudo ufw status verbose

# 查看日志
sudo journalctl -u cockpit -f

2. 登录失败

1
2
3
4
5
6
7
8
# 检查 disallowed-users 配置
sudo cat /etc/cockpit/disallowed-users

# 检查用户是否在系统中
sudo cat /etc/passwd | grep root

# 检查 PAM 配置
sudo cat /etc/pam.d/cockpit

3. 插件不显示

1
2
3
4
5
6
7
# 检查插件是否安装
sudo apt list --installed | grep cockpit

# 重启 Cockpit
sudo systemctl restart cockpit

# 清除浏览器缓存

📱 移动端访问

Cockpit 支持响应式设计,可在手机和平板上使用:

  • 支持触控操作
  • 自适应屏幕大小
  • 基本功能完整可用

🚀 快速开始脚本

一键安装配置脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
# Cockpit 快速安装配置脚本

# 更新系统
echo "更新系统..."
sudo apt update && sudo apt upgrade -y

# 安装 Cockpit 及常用模块
echo "安装 Cockpit..."
sudo apt install -y cockpit cockpit-docker cockpit-machines cockpit-storaged cockpit-networkmanager

# 允许 root 登录
echo "配置 root 登录..."
if [ -f /etc/cockpit/disallowed-users ]; then
sudo sed -i '/^root$/d' /etc/cockpit/disallowed-users
fi

# 配置防火墙
echo "配置防火墙..."
sudo ufw allow 9090/tcp
sudo ufw reload

# 启动服务
echo "启动服务..."
sudo systemctl start cockpit.socket
sudo systemctl enable cockpit.socket

# 显示访问信息
IP=$(hostname -I | awk '{print $1}')
echo "========================================"
echo "Cockpit 安装完成!"
echo "访问地址: https://$IP:9090"
echo "登录账号: root (或您的用户名)"
echo "登录密码: 您的系统密码"
echo "========================================"

保存为 install-cockpit.sh,然后运行:

1
2
chmod +x install-cockpit.sh
sudo ./install-cockpit.sh

📌 使用建议

  1. 开发环境: 直接使用 root 登录
  2. 生产环境: 建议使用普通用户 + sudo 权限
  3. 长期运行: 配置 SSL 证书和访问限制
  4. 团队使用: 为不同成员创建独立账号

现在您可以通过浏览器访问 Cockpit 管理面板了!