Cockpit【web console】介绍

Cockpit是一个开源的Linux服务器的web管理工具。

官方项目地址为:https://cockpit-project.org/

安装

yum install cockpit

简单配置和访问

启用cockpit.socket服务,用于运行web服务器,并设置为开机启动

systemctl start cockpit.socket
systemctl enable cockpit.socket

此时,可以在浏览器输入地址https://ip:9090访问web管理页面了

 

 

 输入操作系统的账号和密码进行登录。

  • 此时会在系统的/etc/cockpit/ws-certs.d/ 目录默认生成一个自签名的证书文件,例如0-self-signed.cert,因为是自签名的证书,所以在浏览器访问的时候,会报安全警告,需要设置安全例外才能访问,为了避免此情况,可以购买或申请CA证书,替换该目录的cert或crt文件,如果目录内存在多个cert文件,则系统会按照字母的先后顺序选择最后一个cert文件作为https协议通信的SSL证书文件。
  • 如果勾选了【重用我的密码以执行特权任务】,则如果您正在登录的用户帐户具有sudo特权,这使得您可以在web控制台中执行特权任务,例如安装软件或配置SELinux

服务的启动和退出

Cockpit的cockpit-ws组件是用于客户端浏览器进行连接,它通常是依托于systemd的socket活动而按需启动。当浏览器访问cockpit.socket服务时,cockpit.service和cockpit-ws进程将会按需启动;一旦用户通过web端登录进Cockpit的控制台页面成功,则会启动cockpit-bridge相关进程,而当用户注销后,则cockpit-bridge相关进程自动结束;补充说明一点,当用户超过10分钟不活动时,cockpit-ws进程也会自动结束。

综上,对于Cockpit只需要操作cockpit.socket服务即可:

#启动服务
systemctl start cockpit.socket
#开机启动
systemctl enable cockpit.socket

#停止服务
systemctl stop cockpit.socket
# 取消开机启动
systemctl disable cockpit.socket

设置服务器监听地址和端口

Cockpit的cockpit-ws进程,默认监听的是所有有效IP地址,端口是9090,而该进程可以通过cockpit.socket服务进行启动

配置/etc/systemd/system/cockpit.socket.d/listen.conf 文件(如果目录或文件不存在)

[Socket]
# 取消默认9090端口的监听
ListenStream=
# 设置监听端口为443,不限制IP地址,即所有有效的IP:443都可以访问
ListenStream=443
# 绑定特定的IP和端口,仅192.168.1.1地址可以访问7777端口
ListenStream=192.168.1.1:7777
# 控制套接字是可以绑定到非本地IP地址的
FreeBind=yes

执行如下命令,使配置生效

systemctl daemon-reload
systemctl restart cockpit.socket

如果启用了selinux,并且对应的端口被限制,则selinux设置类似如下:

semanage port -a -t websm_port_t -p tcp 7777
semanage port -m -t websm_port_t -p tcp 443

同时需要确保防火墙也是对相关端口放行的

firewall-cmd --permanent  --add-port=443/tcp

配置文件

默认Cockpit不会自动创建配置文件,需要手动创建/etc/cockpit/cockpit.conf

具体的配置方式参考官方文档:https://cockpit-project.org/guide/latest/cockpit.conf.5.html

配置格式类似如下:

[WebService]
ProtocolHeader = X-Forwarded-Proto
[Session]
IdleTimeout=15

 

posted @ 2022-02-22 18:39  荒野游侠  阅读(2245)  评论(0编辑  收藏  举报