多Linux管理服务工具

一,Cockpit

1,简介

Cockpit是一个开源的、基于Web的Linux服务器管理工具,兼容多种 Linux 发行版,包括 Red Hat、 CentOS、 Fedora、 Debian 和 Ubuntu 等。其旨在简化系统管理员的工作流程,使其能够更高效地管理和监控多个Linux服务器。

官网地址:https://cockpit-project.org/

  • 系统监控:实时查看 CPU、内存、磁盘 I/O 和网络使用情况,帮助管理员快速了解系统状态。
  • 服务管理:轻松启动、停止和重启系统服务,确保服务的正常运行。
  • 存储管理:管理磁盘分区、LVM、RAID 等存储配置,支持创建和调整存储卷。
  • 网络配置:配置网络接口、防火墙和虚拟网络,简化网络设置过程。
  • 用户管理:添加、删除和修改系统用户和组,管理用户权限。
  • 软件包管理:通过图形界面安装、更新和删除软件包,替代传统的命令行操作。
  • 日志查看:查看系统日志和审计日志,帮助诊断问题并监控系统活动。
  • 远程终端访问:提供基于Web的终端,允许管理员直接在浏览器中执行命令。

Cockpit通过提供了一个直观的图形用户界面,大大简化了Linux服务器的管理任务,它不仅提高了工作效率,还降低了对命令行操作的依赖,使得服务器管理变得更加友好和可视化。

2,安装与启动

Cockpit的安装过程相对简单,通常只需通过包管理器安装相应的软件包,并启用服务即可开始使用。默认情况下,它使用系统现有的用户凭证进行登录,无需额外配置。

# 更新软件包列表
sudo apt update

# 以debian系统为例
# 安装 Cockpit
sudo apt install cockpit -y

# 启动并启用 Cockpit 服务
sudo systemctl start cockpit
sudo systemctl enable cockpit

# 查看 Cockpit 服务状态
sudo systemctl status cockpit

# 默认情况下 Cockpit Web界面端口为9090
# 如果要通过反向代理则无需运行下述命令
sudo ufw allow 9090/tcp

3,Web端设置反向代理

Cockpit其默认监听0.0.0.0:9090,主要通过SSH进行控制访问,该Web端口默认的登录账户和密码是SSH的账户和密码。如果在SSH禁止root直接登录,则在Web端该用户也无法登录。

下述步骤仅在需要通过Web界面访问的主服务上设置。

(1)修改cockpit.socket默认监听设置

# 创建配置目录与写入文件
sudo mkdir /etc/systemd/system/cockpit.socket.d
cat << "EOF" | sudo tee /etc/systemd/system/cockpit.socket.d/listen.conf > /dev/null
[Socket]
ListenStream=
ListenStream=127.0.0.1:9090
FreeBind=yes
EOF

# 重启 cockpit.socket 服务
sudo systemctl daemon-reload
sudo systemctl restart cockpit.socket

(2)配置指定用户访问(可选)

# 创建配置文件并指定root用户禁止登录
cat << "EOF" | sudo tee /etc/cockpit/disallowed-users > /dev/null
# List of users which are not allowed to login to Cockpit
root
EOF

(3)配置Cockpit反向代理

# 创建配置目录与写入文件
cat << "EOF" | sudo tee /etc/cockpit/cockpit.conf > /dev/null
[WebService]
Origins = https://cockpit.example.com # 这里改成你自己的地址
ProtocolHeader = X-Forwarded-Proto # 与nginx中一致
ForwardedForHeader = X-Forwarded-For # 与nginx中一致
LoginTo = false
AllowUnencrypted = false # 我使用了https,这里设置为false
EOF

# 重启 cockpit.socket 服务
sudo systemctl restart cockpit.socket

(4)配置Nginx端进行访问

此处我直接使用Cloudflare Tunnel直接代理访问,详细配置参考原教程

server {
    listen 443 ssl http2;
    server_name cockpit.zhile.io;

    charset utf-8;

    ssl_certificate      certs/cockpit.zhile.io.crt;
    ssl_certificate_key  certs/cockpit.zhile.io.key;

    ...省略若干其他配置...

    location /cockpit/socket {
        proxy_http_version  1.1;
        proxy_pass          http://127.0.0.1:9090;
        proxy_set_header    Connection          "upgrade";
        proxy_set_header    Upgrade             http_upgrade;
        proxy_set_header    Host                http_host;
        proxy_set_header    X-Forwarded-Proto   scheme;
        proxy_set_header    X-Forwarded-For     proxy_add_x_forwarded_for;
    }

    location / {
        proxy_http_version  1.1;
        proxy_pass          http://127.0.0.1:9090;
        proxy_set_header    Connection          "";
        proxy_set_header    Host                http_host;
        proxy_set_header    X-Forwarded-Proto   scheme;
        proxy_set_header    X-Forwarded-For     proxy_add_x_forwarded_for;
    }

    ...省略若干其他配置...
}

主要参考:Cockpit安装配置速记 – 知了

4,登录Web页面

(1)通过域名进入Web端,并键入SSH的账户和密码登陆访问。

如果是非root用户,可在登陆后顶端点击被限制的访问后,输入root用户的登录密码后点击认证进行完全访问,此时会出现管理员模式

(2)添加其他Linux服务器

由于该工具完全通过SSH进行控制访问,请确保服务器的SSH与下述配置相符。

点击页面左上角的小箭头,在出现的新菜单中选择添加新主机

主机中填写服务器的IP:SSH登录端口或者域名:SSH登陆端口,如果不填写端口则会默认为22.

用户名中填写该服务器的SSH登录用户名,随后点击添加,如果设置正确会要求输入密码。

二,Linux服务器面板

Linux面板安装后掌控该服务器的最高权限,所以需要谨慎选择和使用。

以下是常用的Linux面板。

(如有补充可在该表格基础上进行添加)

面板名称 地址 备注
宝塔面板 https://www.bt.cn 中国流传最广的面板,使用强制要求账户
小皮面板 https://xp.cn/
耗子面板 https://ratpanel.github.io/
宝塔开心版 https://www.btkaixin.net/ 宝塔面板的破解版本,谨慎使用
mdserver-web https://www.midoks.icu/ 又称夸父面板
aaPanel https://www.aapanel.com/ 宝塔面板的国际版本,无需登录
1Panel https://1panel.cn/ 以Docker为主要配置的面板
AMH https://amh.sh/
CyberPanel https://cyberpanel.net/

三,其他相关的VPS或者服务监控管理

1,内网穿透——Cloudflare Tunnels

Cloudflare Tunnel 是一个由 Cloudflare 提供的服务,旨在通过加密隧道将内部网络的服务安全地暴露到公共互联网。它可以有效实现内网穿透,避免了传统方式中需要公网 IP 或开放端口的麻烦。

官网地址:https://one.dash.cloudflare.com/

  • 内网穿透:允许用户在没有公网 IP 的情况下,将本地服务暴露到互联网上。例如,家庭网络中的服务器可以通过 Cloudflare Tunnel 进行访问,而无需进行复杂的网络配置。
  • 支持多种协议:除了 HTTP 服务外,Cloudflare Tunnel 还支持 SSH、RDP 等多种协议,可以满足不同应用场景的需求。
  • 自动 HTTPS:Cloudflare Tunnel 会自动为用户提供 HTTPS 证书,无需用户手动配置 SSL/TLS,简化了安全设置。
  • 访问控制:用户可以通过 Cloudflare 的控制面板设置访问控制规则,进一步保护内部服务不被未授权访问。

Cloudflare Tunnel 的工作原理是通过在本地网络上运行一个名为 cloudflared 的轻量级守护进程,与 Cloudflare 的边缘服务器建立出站连接。所有流量首先经过 Cloudflare 的服务器,然后再转发到内部网络中的目标服务。这种方式不仅提供了额外的安全性,还可以隐藏源站 IP 地址,从而降低被攻击的风险。

2,服务器性能监控——哪吒监控

哪吒监控是一款开源、轻量化的服务器监控和运维工具,旨在帮助用户实时监控服务器的性能和状态,适合需要实时监控和管理多台服务器的用户。

官网地址:https://nezha.wiki/

  • 多服务器管理:支持同时监控多台服务器,用户可以通过面板轻松管理和查看各个服务器的状态。
  • 告警通知:当监控指标超过设定阈值时,可以通过邮件、微信、Telegram 等多种方式发送告警通知。
  • 网络延迟监控:提供网络延迟统计图表,帮助用户了解网络状况。
  • SSL 证书监控:能够监控目标 URL 的 SSL 证书状态,如证书到期或变更时会触发通知。
  • WebSSH 和 DDNS 支持:支持通过 WebSSH 远程访问服务器,并提供动态域名解析功能。

3,服务网站监控——UptimeFlare

UptimeFlare是一个免费且无服务器的运行时间监控/状态页面解决方案,基于Cloudflare Workers构建,支持地理特定检查。

Github地址:

  • 为所有类型的监控提供交互式ping(响应时间)图表。
  • 响应式UI,可适应系统主题。
  • 可自定义状态页面。
  • 支持使用CNAME绑定自定义域名。
  • 可选密码认证(私有状态页面)。
  • 提供JSON API以获取实时状态数据。

4,Docker管理——Portainer

(1)简介

Portainer 是一个开源的图形化管理工具,专为 Docker 环境设计,旨在简化容器管理。它提供了一个直观的 Web 界面,使用户能够轻松管理 Docker 容器、镜像、网络和数据卷等资源。

官网地址:https://www.portainer.io/

  • 容器管理:用户可以查看、启动、停止、删除容器,并查看容器的日志和统计信息。
  • 镜像管理:支持查看、创建和部署镜像,同时可以查看镜像的层级信息。
  • 网络管理:提供创建、删除和查看 Docker 网络的功能。
  • 卷管理:允许用户管理数据卷,包括创建和删除操作。
  • 访问控制:支持基于用户和团队的访问控制,确保安全性。
  • 监控与分析:提供对容器、镜像、网络等的监控和分析功能,帮助用户及时发现问题。
  • 服务编排:支持通过可视化界面编排 Docker Compose 应用,简化应用部署过程。

(2)安装Portainer

在此之间,需要先安装Docker后运行下述命令。

docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer-ce:latest

在安装后进入设置用户名和密码后即可登录。

(3)添加其他服务器

在Portainer左侧菜单中选择Environment-related,随后点击+Add Environment,进入新页面后选择Docker Standalone,并点击Start Wizard,默认选择Agent无需修改。

其下会给出两个选项,选择相应的服务器版本。

# Linux & Windows WSL
docker run -d \
  -p 9001:9001 \
  --name portainer_agent \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/var/lib/docker/volumes \
  -v /:/host \
  portainer/agent:2.21.5
  
# Windows WCS
docker run -d \
  -p 9001:9001 \
  --name portainer_agent \
  --restart=always \
  -v C:\:C:\host \
  -v C:\ProgramData\docker\volumes:C:\ProgramData\docker\volumes \
  -v \\.\pipe\docker_engine:\\.\pipe\docker_engine \
  portainer/agent:2.21.5

在需要安装的服务器上键入上述命令后,在原界面分别填入NameEnvironment address。

其中后者的格式为ip:agent映射端口或者域名:agent映射端口,请确保该端口已经通过防火墙和VPS服务商的TCP放行。

随后点击Connect即可连接并进行控制访问,如若出现已经被连接的提示,请停止之前的容器,重新创建并运行portainer-agent容器。
原文地址: 多Linux管理服务工具

23 个赞

超棒,这个

感谢分享 佬友

多个linux服务器运维管理还有国产的WGCloud,部署难度有一点,但是作者在B站有完整教程, 另外有个国外的ISPConfig,比较老了,但是还有很多人推荐,还有个企业级的面板,要手动配置可视化的,找半天没找到

2 个赞

感谢教程

1 个赞

感谢,希望有机会能用上