Cockpit — zarządzanie serwerem Linux przez przeglądarkę: instalacja i konfiguracja
Cockpit pozwala zarządzać serwerami Linux z przeglądarki: usługi, logi, sieć, dyski, kontenery i VM. Instalacja na Debianie, Ubuntu, RHEL i bezpieczna konfiguracja.

W skrócie
- Cockpit to darmowy panel WWW do administracji serwerem Linux, działający na porcie 9090 i logujący przez zwykłe konta systemowe.
- Instalacja to jedno polecenie (apt install cockpit lub dnf install cockpit) i włączenie gniazda cockpit.socket.
- Z panelu zarządzasz usługami systemd, logami journald, siecią, dyskami, aktualizacjami, kontenerami Podman i maszynami wirtualnymi.
- Cockpit nie zmienia konfiguracji „po swojemu” — używa tych samych narzędzi co terminal, więc można go łączyć z pracą w konsoli.
- Nie wystawiaj portu 9090 do internetu: używaj VPN lub tunelu SSH i własnego certyfikatu TLS.
Spis treści
Cockpit to darmowy panel administracyjny, który pozwala zarządzać serwerem Linux przez przeglądarkę: sprawdzisz obciążenie, zrestartujesz usługę, przejrzysz logi, skonfigurujesz sieć i dyski, a nawet uruchomisz terminal — bez instalowania czegokolwiek na swoim komputerze. Instalacja to jedno polecenie, a panel jest dostępny pod adresem https://adres-serwera:9090.
Projekt jest rozwijany przy wsparciu Red Hata i dostępny w oficjalnych repozytoriach Fedory, RHEL i jego klonów, Debiana, Ubuntu, Arch Linuksa i openSUSE. Poniżej pokazuję, jak go zainstalować, co potrafi, jak go zabezpieczyć i kiedy lepiej sięgnąć po inne narzędzia do zarządzania serwerami Linux.
Czym jest Cockpit i jak działa
Cockpit to „cienka” nakładka na narzędzia, które już są w systemie. Gdy zatrzymujesz usługę w panelu, Cockpit wywołuje systemd, tak samo jak polecenie systemctl. Konfigurację sieci zmienia przez NetworkManager, dyski przez UDisks, a logi czyta z journald.
Z tej architektury wynikają trzy ważne cechy:
- brak własnej bazy konfiguracji — możesz na zmianę używać panelu i terminala, a jedno nie „rozjedzie się” z drugim,
- brak osobnych kont — logujesz się zwykłym użytkownikiem systemu przez PAM, a uprawnienia administracyjne dostajesz przez sudo lub polkit,
- zerowe obciążenie w spoczynku — Cockpit jest uruchamiany przez systemd dopiero wtedy, gdy ktoś połączy się z portem 9090, i wyłącza się po zakończeniu sesji.
Instalacja Cockpita na Debianie, Ubuntu, RHEL i innych dystrybucjach
Debian i Ubuntu
sudo apt update
sudo apt install cockpit
Na Debianie i Ubuntu LTS wersja z głównego repozytorium bywa starsza. Nowszą znajdziesz w repozytorium backports (na Debianie trzeba je najpierw dodać do źródeł APT):
. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit
RHEL, Rocky Linux, AlmaLinux, CentOS Stream i Fedora
Na serwerowych instalacjach RHEL i pochodnych Cockpit jest często zainstalowany fabrycznie — wtedy przy logowaniu przez SSH widzisz komunikat zachęcający do włączenia konsoli webowej. Jeśli go nie ma:
sudo dnf install cockpit
sudo systemctl enable --now cockpit.socket
sudo firewall-cmd --permanent --add-service=cockpit
sudo firewall-cmd --reload
Jeśli korzystasz z darmowej subskrypcji deweloperskiej RHEL, o której pisaliśmy w tekście No-cost Red Hat, Cockpit jest tam pełnoprawnym, wspieranym elementem systemu (pod nazwą „RHEL web console”).
Arch Linux i openSUSE
sudo pacman -S cockpit # Arch Linux
sudo zypper install cockpit # openSUSE
sudo systemctl enable --now cockpit.socket
Pierwsze logowanie
- Otwórz w przeglądarce
https://IP-serwera:9090. - Zaakceptuj ostrzeżenie o certyfikacie (domyślnie Cockpit generuje certyfikat samopodpisany — dalej pokazuję, jak to zmienić).
- Zaloguj się kontem użytkownika, który ma uprawnienia sudo.
- Jeśli na górze widzisz „Ograniczony dostęp” (Limited access), kliknij przycisk i potwierdź hasłem, aby włączyć dostęp administracyjny.
Wskazówka: Logowanie jako root jest na wielu dystrybucjach zablokowane plikiem
/etc/cockpit/disallowed-users. To dobra praktyka — zamiast zdejmować blokadę, loguj się imiennym kontem z sudo, wtedy w logach widać, kto co zmieniał.
Co potrafi Cockpit: przegląd modułów
Po zalogowaniu po lewej stronie zobaczysz menu. Zestaw pozycji zależy od zainstalowanych pakietów — część modułów to osobne paczki.
| Moduł w menu | Do czego służy | Pakiet |
|---|---|---|
| Przegląd (Overview) | obciążenie CPU, RAM, dysków, sieci, informacje o sprzęcie, nazwa hosta, czas | cockpit-system |
| Dzienniki (Logs) | przeglądanie i filtrowanie journald według priorytetu, usługi, czasu | cockpit-system |
| Pamięć masowa (Storage) | partycje, systemy plików, RAID, LVM, LUKS, NFS, Stratis | cockpit-storaged |
| Sieć (Networking) | interfejsy, adresy IP, mostki, bonding, VLAN, zapora firewalld | cockpit-networkmanager |
| Kontenery Podman | obrazy, kontenery, pody, logi kontenerów | cockpit-podman |
| Maszyny wirtualne | tworzenie i obsługa VM przez libvirt/KVM, konsola VNC | cockpit-machines |
| Konta (Accounts) | użytkownicy, grupy, hasła, klucze SSH | cockpit-system |
| Usługi (Services) | jednostki systemd, timery, gniazda, uruchamianie przy starcie | cockpit-system |
| Aktualizacje oprogramowania | instalacja poprawek, automatyczne aktualizacje | cockpit-packagekit |
| Pliki (File browser) | przeglądanie, wysyłanie i edycja plików | cockpit-files |
| Terminal | pełna konsola powłoki w przeglądarce | cockpit-system |
Moduł maszyn wirtualnych dobrze sprawdza się na małym hoście KVM, gdy nie potrzebujesz klastra. Jeśli dopiero zaczynasz z wirtualizacją, przeczytaj, czym jest maszyna wirtualna, a przy większym środowisku rozważ dedykowaną platformę jak Proxmox.
Ważne: Cockpit obsługuje kontenery przez Podmana. Dawny moduł dla Dockera (
cockpit-docker) został porzucony wiele lat temu i nie jest dostępny w aktualnych dystrybucjach.
Dodatkowe moduły tworzą też firmy zewnętrzne, np. 45Drives udostępnia rozszerzenia do udostępniania plików przez Samba/NFS i nawigacji po systemie plików. Instaluj je tylko z zaufanych repozytoriów — moduł Cockpita działa z uprawnieniami zalogowanego administratora.
Zarządzanie kilkoma serwerami z jednego miejsca
Starsze wersje Cockpita miały pulpit z wieloma serwerami i przełącznik hostów, przez który łączyło się z kolejnymi maszynami przez SSH. Ze względów bezpieczeństwa (wszystkie hosty działały w jednym kontekście przeglądarki) ta funkcja została ograniczona: w nowych wydaniach przełącznik hostów jest domyślnie wyłączony i można go włączyć opcją AllowMultiHost w /etc/cockpit/cockpit.conf.
Zalecane dziś podejścia:
- Cockpit na każdym serwerze i osobna karta przeglądarki dla każdego z nich — najprostsze i najbezpieczniejsze,
- logowanie do innego hosta z ekranu logowania — w „Innych opcjach” podajesz adres maszyny, a Cockpit łączy się z nią przez SSH (na serwerze docelowym wystarczy pakiet
cockpit-bridge, bez otwartego portu 9090), - Cockpit Client — aplikacja desktopowa (Flatpak), która łączy się z serwerami przez SSH bez uruchamiania usługi WWW na serwerach.
Jeśli serwerów jest kilkanaście lub więcej, panel klikany ręcznie przestaje mieć sens. Wtedy konfigurację opisuje się kodem, np. w Ansible, a Cockpit zostaje narzędziem do szybkiego podglądu i diagnozy.
Bezpieczna konfiguracja Cockpita
Panel administracyjny z dostępem do terminala to łakomy kąsek dla atakujących. Kilka ustawień robi dużą różnicę.
Nie wystawiaj portu 9090 do internetu
Najlepiej, by Cockpit był dostępny tylko z sieci wewnętrznej lub przez VPN. Jeśli łączysz się z zewnątrz, użyj tunelu SSH:
ssh -L 9090:localhost:9090 uzytkownik@serwer
i otwórz w przeglądarce https://localhost:9090. W zaporze firewalld możesz ograniczyć dostęp do konkretnej podsieci:
sudo firewall-cmd --permanent --remove-service=cockpit
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" service name="cockpit" accept'
sudo firewall-cmd --reload
Własny certyfikat TLS
Cockpit szuka certyfikatów w katalogu /etc/cockpit/ws-certs.d/ i używa pliku ostatniego alfabetycznie. Wgraj tam parę plików z tą samą nazwą i rozszerzeniami .crt i .key (np. z Let’s Encrypt lub firmowego CA), a potem zrestartuj usługę:
sudo cp serwer.crt /etc/cockpit/ws-certs.d/50-serwer.crt
sudo cp serwer.key /etc/cockpit/ws-certs.d/50-serwer.key
sudo systemctl restart cockpit
sudo /usr/lib/cockpit/cockpit-certificate-ensure --check
Ścieżka do cockpit-certificate-ensure może się różnić między dystrybucjami (np. /usr/libexec/cockpit-certificate-ensure na RHEL).
Zmiana portu
Port ustawia jednostka cockpit.socket. Uruchom sudo systemctl edit cockpit.socket i wpisz:
[Socket]
ListenStream=
ListenStream=9443
Następnie sudo systemctl daemon-reload i sudo systemctl restart cockpit.socket. Na systemach z SELinux trzeba jeszcze oznaczyć nowy port: sudo semanage port -a -t websm_port_t -p tcp 9443, a w zaporze otworzyć go zamiast usługi cockpit.
Dodatkowe zabezpieczenia
- uwierzytelnianie dwuskładnikowe przez moduł PAM (np.
pam_google_authenticator) — Cockpit wyświetli pole na kod jednorazowy, - automatyczne wylogowanie bezczynnej sesji: w
/etc/cockpit/cockpit.confsekcja[Session]i opcjaIdleTimeout=15(minuty), - blokada prób zgadywania haseł, np. przez fail2ban lub
pam_faillock.
Uwaga: Kto ma dostęp do Cockpita z uprawnieniami administratora, ma pełny dostęp do serwera — łącznie z terminalem roota. Traktuj to konto tak samo jak dostęp SSH z sudo.
Cockpit na tle innych narzędzi do zarządzania serwerami Linux
| Narzędzie | Dla kogo | Mocne strony | Ograniczenia |
|---|---|---|---|
| Cockpit | pojedyncze serwery, małe środowiska, mniej doświadczeni administratorzy | lekki, zgodny z narzędziami systemu, dobra obsługa dysków, VM i Podmana | brak modułów do konfiguracji konkretnych usług (WWW, poczta, DNS) |
| Webmin | administratorzy wolący wszystko „wyklikać” | ogromna liczba modułów do usług | ciężki, starszy interfejs, sam edytuje pliki konfiguracyjne |
| SSH + terminal | każdy administrator | pełna kontrola, działa wszędzie | wymaga znajomości poleceń Linuksa |
| Ansible i inne narzędzia IaC | wiele serwerów, zespoły | powtarzalność, kontrola wersji konfiguracji | próg wejścia, nie służy do podglądu „na żywo” |
| Proxmox VE, panele hostingowe | wirtualizacja, hosting WWW | wyspecjalizowane funkcje | nie są ogólnym panelem do dowolnego serwera |
W praktyce te narzędzia się uzupełniają. Cockpit świetnie nadaje się do szybkiej diagnozy („co zjada RAM?”, „dlaczego usługa nie wstała po restarcie?”), do zarządzania dyskami i LVM bez ryzyka literówki w poleceniu oraz do oddania podstawowej administracji osobie, która nie czuje się pewnie w terminalu.
Najczęstsze problemy z Cockpitem
- Strona pod adresem :9090 się nie otwiera — sprawdź
systemctl status cockpit.socketi czy port jest otwarty w zaporze (sudo ss -tlnp | grep 9090). - Logowanie odrzucone mimo poprawnego hasła — użytkownik może być na liście
/etc/cockpit/disallowed-usersalbo konto jest zablokowane lub ma wygasłe hasło. - Brak modułu w menu (np. Kontenery, Maszyny wirtualne) — doinstaluj pakiet
cockpit-podmanlubcockpit-machinesi odśwież stronę. - Sieć „niezarządzana” w zakładce Sieć — interfejsy skonfigurowane przez
/etc/network/interfaces(Debian) lub Netplan z backendem systemd-networkd nie są obsługiwane przez NetworkManager, więc Cockpit może je tylko wyświetlić. - Brak zakładki aktualizacji oprogramowania — moduł korzysta z PackageKit i jest osobnym pakietem
cockpit-packagekit; bywa pomijany, gdy instalujesz Cockpita z opcją--no-install-recommends.
Najczęściej zadawane pytania
Do czego służy Cockpit w Linuksie?
Cockpit to webowa konsola administracyjna. Pozwala z poziomu przeglądarki monitorować obciążenie serwera, zarządzać usługami, użytkownikami, siecią, dyskami, aktualizacjami, kontenerami i maszynami wirtualnymi oraz korzystać z terminala.
Na jakim porcie działa Cockpit?
Domyślnie na porcie TCP 9090, czyli pod adresem https://adres-serwera:9090. Port można zmienić, nadpisując ustawienia jednostki cockpit.socket w systemd.
Jak zalogować się do Cockpita jako root?
Na wielu dystrybucjach logowanie roota jest domyślnie zablokowane w pliku /etc/cockpit/disallowed-users. Zaloguj się jako zwykły użytkownik z uprawnieniami sudo i włącz w panelu dostęp administracyjny.
Czy Cockpit jest bezpieczny?
Tak, o ile nie jest wystawiony bezpośrednio do internetu. Korzysta z PAM i zwykłych uprawnień systemowych, ale jak każdy panel logowania bywa celem ataków, więc najlepiej udostępniać go przez VPN lub tunel SSH.
Cockpit czy Webmin — co wybrać?
Cockpit jest lżejszy, nowocześniejszy i nie modyfikuje plików konfiguracyjnych własnymi mechanizmami. Webmin ma więcej modułów do konkretnych usług, np. serwerów pocztowych i DNS, ale jest cięższy i bardziej złożony.
Autor
Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.


