Désactiver le préchargeur
Tutoriels Linux Panneaux de contrôle

Installer Cockpit sur Linux (Ubuntu, Debian, AlmaLinux, openSUSE)

Documentation / Tutoriels Linux / Panneaux de contrôle / Installer Cockpit sur Linux (Ubuntu, Debian, AlmaLinux, openSUSE)
Mis à jour le 20/09/2026
15 vues
Débutant
15 minutes

Prérequis

  • Un serveur sous Ubuntu 24.04, Debian 13, AlmaLinux 9, Rocky Linux 9, CentOS Stream 9, Fedora 44 ou openSUSE Leap 16 : voir nos VPS au Canada
  • Une connexion SSH ouverte en root : Se connecter en SSH à votre VPS
  • L'adresse IP publique de votre poste, pour lui réserver l'accès au panneau
Votre serveur :

Cockpit est la console d'administration web des distributions Linux elles-mêmes : services, journaux, réseau, disques, mises à jour et un terminal, depuis un navigateur, sans rien changer au serveur. Ce guide l'installe depuis les dépôts de votre système, crée l'utilisateur qui s'y connecte, et réserve le panneau à votre adresse. Choisissez votre système ci-dessus. Copiez la commande avec le bouton Copier, collez-la dans votre terminal, et comparez avec le résultat attendu.

1Nommer le serveur et le mettre à jour

Remplacez 203.0.113.42 par l'adresse IP de votre serveur. Le nom d'hôte sera celui du certificat du panneau.

Poser le nom d'hôte
hostnamectl set-hostname serveur.exemple.ca
echo '203.0.113.42 serveur.exemple.ca serveur' >> /etc/hosts
hostname -f
Résultat attendu
serveur.exemple.ca
Mettre à jour le système
apt update && apt upgrade -y
Mettre à jour le système
apt update && apt upgrade -y
Mettre à jour le système
dnf upgrade -y
Résultat attendu
...
Complete!
Mettre à jour le système
zypper refresh && zypper -n update

2Créer l'utilisateur du panneau

Cockpit refuse root. On se connecte avec un utilisateur du système qui a sudo.

UbuntuCréer l'utilisateur admin, dans le groupe sudo, et lui donner un mot de passe
useradd -m -s /bin/bash -G sudo admin
passwd admin
DebianCréer l'utilisateur admin, dans le groupe sudo, et lui donner un mot de passe
useradd -m -s /bin/bash -G sudo admin
passwd admin
AlmaLinux / Rocky / FedoraCréer l'utilisateur admin, dans le groupe wheel, et lui donner un mot de passe
useradd -m -s /bin/bash -G wheel admin
passwd admin
openSUSECréer l'utilisateur admin, dans le groupe wheel, et lui donner un mot de passe
useradd -m -s /bin/bash -G wheel admin
passwd admin

3Installer Cockpit et activer son socket

Le paquet vient des dépôts du système ; le socket ouvre le port 9090 et lance le panneau à la première connexion.

Installer Cockpit depuis les backports d'Ubuntu
apt install -y -t noble-backports cockpit
Résultat attendu
...
Setting up cockpit (362-1~bpo24.04.1) ...
...
DebianActiver les backports de Debian, puis installer Cockpit
echo 'deb http://deb.debian.org/debian trixie-backports main' > /etc/apt/sources.list.d/backports.list
apt update && apt install -y -t trixie-backports cockpit
Résultat attendu
...
Setting up cockpit (367-1~bpo13+1) ...
...
Installer Cockpit
dnf install -y cockpit
Résultat attendu
...
Complete!
Installer Cockpit
zypper -n install cockpit
Résultat attendu
...
The following 52 NEW packages are going to be installed:
...
Activer le socket
systemctl enable --now cockpit.socket
systemctl is-active cockpit.socket
Résultat attendu
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.
active
(sur Ubuntu, la première ligne n'apparaît pas : le paquet a déjà activé le socket)

4Ouvrir le panneau

Vérifier que le panneau répond
curl -sk -o /dev/null -w '%{http_code}\n' https://127.0.0.1:9090/
Résultat attendu
200
  1. Ouvrez https://203.0.113.42:9090 dans votre navigateur, avec l'adresse IP de votre serveur, en https, et le port.
  2. Le navigateur avertit que le certificat n'est pas reconnu : Cockpit en a créé un lui-même pour le nom d'hôte. Cliquez sur Avancé, puis Continuer vers le site.
  3. Identifiant admin, avec le mot de passe de l'étape 2.

5Réserver le panneau à votre adresse

Tout Internet peut ouvrir votre panneau

Le port 9090 répond à toutes les adresses, avec pour seule barrière le mot de passe d'un utilisateur qui a sudo.

Remplacez 198.51.100.7 par l'adresse IP publique de votre poste.

UbuntuActiver ufw avec le panneau réservé à votre adresse
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow from 198.51.100.7 to any port 9090 proto tcp
ufw --force enable
ufw status
Résultat attendu
...
Firewall is active and enabled on system startup
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
9090/tcp                   ALLOW       198.51.100.7
22/tcp (v6)                ALLOW       Anywhere (v6)
DebianInstaller et activer ufw avec le panneau réservé à votre adresse
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow from 198.51.100.7 to any port 9090 proto tcp
ufw --force enable
ufw status
Résultat attendu
...
Firewall is active and enabled on system startup
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
9090/tcp                   ALLOW       198.51.100.7
22/tcp (v6)                ALLOW       Anywhere (v6)
AlmaLinux / Rocky / FedoraInstaller et activer firewalld avec le panneau réservé à votre adresse
dnf install -y firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=198.51.100.7 port port=9090 protocol=tcp accept'
firewall-cmd --reload
firewall-cmd --list-all | grep -E 'services|rule '
Résultat attendu
...
success
success
success
  services: dhcpv6-client ssh
	rule family="ipv4" source address="198.51.100.7" port port="9090" protocol="tcp" accept
(Fedora : services: dhcpv6-client mdns ssh, et « Warning: NOT_ENABLED: cockpit » à la deuxième commande, sans effet)
openSUSERéserver le panneau à votre adresse dans firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=198.51.100.7 port port=9090 protocol=tcp accept'
firewall-cmd --reload
firewall-cmd --list-all | grep -E 'services|rule '
Résultat attendu
...
success
success
success
  services: dhcpv6-client ssh
	rule family="ipv4" source address="198.51.100.7" port port="9090" protocol="tcp" accept

SSH reste ouvert à tous. Le pare-feu est rechargé à chaque démarrage avec ces règles.

Vérifier depuis une autre machine que le panneau ne répond plus
curl -sk -o /dev/null -w '%{http_code}\n' --max-time 10 https://203.0.113.42:9090/
Résultat attendu
000
(000 veut dire aucune réponse : c'est le résultat attendu depuis une adresse qui n'est pas la vôtre)

6Les commandes du quotidien

L'état du panneau ; le service ne tourne que pendant une session
systemctl status cockpit.socket
Redémarrer le panneau
systemctl restart cockpit.socket
Le journal du panneau
journalctl -u cockpit -n 20
Les utilisateurs interdits de panneau ; root y est
cat /etc/cockpit/disallowed-users
Les ports en écoute
ss -ltn
Voir les règles du pare-feu
ufw status verbose
Voir les règles du pare-feu
ufw status verbose
Voir les règles du pare-feu
firewall-cmd --list-all
Voir les règles du pare-feu
firewall-cmd --list-all

Cockpit se met à jour avec le système, par la commande de l'étape 1.

Erreurs fréquentes

Cockpit en service

Le panneau répond sur le port 9090, réservé à votre adresse, avec l'utilisateur admin. Pour héberger des sites et du courriel depuis un panneau, voyez Installer Webmin ou Installer HestiaCP.

💬 Écrivez-nous sur Messenger !