Cockpit 접속 포트 변경
2023.05.07
Cockpit?
cockpit은 직접 SSH나 실물에 직접 연결하지 않고, 웹 브라우저를 통해 접속해서 시스템을 모니터링하고 관리하는 도구입니다.
CentOS 7부터 제공되었고, 현재 나오고 있는 RHEL을 포크한 배포판 같은 경우에는 기본적으로 함께 설치가 되기 때문에 따로 설치를 해줄 필요는 없고, 서비스 실행만 해주면 됩니다.
원격 SSH를 연결하는 부분이 불편한 부분도 있고, 간단히 홈서버를 이용하는 경우엔 불편하지 않고 쉽고 빠르게 시스템을 관리하거나 모니터링할 수 있는 방법을 찾기 마련이죠.
Cockpit은 간단히 홈서버를 관리하거나 개발서버, 클라우드 서버를 관리하는데에 굉장히 편한 서비스입니다.
저도 제가 개발 및 공부용으로 쓰고 있는 NUC 서버에 Cockpit 을 쓰고 있습니다.
Cockpit 알아보기 : Cockpit
- cockpit을 지원하는 배포판
- Fedora
- RHEL
- Fedora Core OS
- CentOS
- debian
- ubuntu
- Clear Linux
- archlinux
- openSUSE Tumbleweed
- SUSE Linux Enterprise Micro
Cockpit 접근 포트 변경
Cockpit은 일반적으로 별도로 설정하지 않으면 9090번 포트를 이용합니다.
~~~~~:9090 으로 바로 서버의 웹 콘솔로 접근할 수 있죠.
하지만, 다른 서비스를 위해 9090 포트가 필요하다거나 어떠한 이유로 9090을 쓰지 못하는 경우가 있을 수 있습니다.
Cockpit 접근 포트를 변경하는 방법을 설명하려고 합니다.
RHEL이나 CentOS, Rocky Linux 같은 경우에는 일반적인 설치 시, cockpit이 대부분 기본적으로 설치되어 있습니다.
다른 배포판을 이용하는 경우에는 없을 수 있습니다.
저는 RHEL 9.1 을 사용하고 있기 때문에 기본적으로 설치가 되어있습니다.
Cockpit 접근 포트 변경
터미널을 열고 nano 또는 vim 으로 /usr/lib/systemd/system/cockpit.socket 을 편집합니다.
시스템에 접근하는 것이기 때문에, 관리자 권한 또는 sudo 로 실행해야 합니다.
sudo nano /usr/lib/systemd/system/cockpit.socket
cockpit.socket 내용중, ListenStream=9090 포트를 대체하고자 하는 포트로 변경합니다.
\[Socket\]
ListenStream=9090
ListenStream=\[원하는 포트\]
저장하고 종료합니다.
설정을 완료하면, cockpit 서비스를 재시작합니다.
sudo systemctl restart cockpit.socket
참고사항
cockpit 의 서비스는 두 가지가 있습니다.
cockpit.service 와 cockpit.socket 두 가지로 나눠져 있는데, cockpit.service 는 로드 상태로 두고, 실제로 cockpit.socket 으로 운영됩니다.
cockpit.socket 이 active(listening) 상태이면 cockpit 서비스를 이용할 수 있습니다.
Firewalld 방화벽 예외 설정
기본적으로 firewalld 방화벽에는 cockpit 서비스가 추가되어 있습니다.
하지만, 접근 포트를 변경하면 해당 포트도 함께 열어주어야 합니다.
터미널에서 firewalld-cmd 명령어로 방화벽에 위에서 변경한 포트를 추가합니다.
sudo firewall-cmd --permanent --zone=public --add-port=[변경한 포트]/tcp
주의 : 포트 추가/변경 등은 firewalld 방화벽이 실행중일 경우, --reload 옵션을 실행해주어야 반영됩니다.
firewalld 방화벽이 활성화 상태가 아닌 경우에는 서비스를 시작할 때 적용됩니다.
변경한 포트로 cockpit 접속이 잘 되는지 테스트를 해보시기 바랍니다.