• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

Linux 원격 관리를 위한 툴 Cockpit(Ubuntu) 설치하기.

달소 달소 674

2

2

 

이미지에 대체텍스트 속성이 없습니다; 파일명은 image-356-1024x795.png 입니다.

이번에는 Ubuntu 리눅스를 원격에서 쉽게 관리하기 위한 툴 Cockpit을 설치해보려고합니다.

기본적으로 Cloud를 사용하시던 홈서버를 사용하시던 원격에서 ssh를 열기에는 많이부담되실텐데 Cockpit을 사용하시면 보안적으로도 안전하게 외부에서 서버에 접속 할 수 있습니다.
또한 자원모니터링, 로그 모니터링도 다 되기때문에 이런툴이 있구나 생각하시면 될거같습니다.

https://cockpit-project.org/

설치하기

우분투에서는 16.04 부터 기본패키지에 포함되어있기 때문에 apt 패키지 관리자를 사용하시면 쉽게 사용 가능합니다.

sudo apt-get install cockpit

이미지에 대체텍스트 속성이 없습니다; 파일명은 image-357-1024x166.png 입니다.

설치를 이렇게 하셨으면 netstat -lntp, service cockpit start 로 실행시켜줍니다.
아래처럼 정상작동되는지 확인하실수있습니다.

추가로 재부팅시 자동으로 cockpit이 실행될 수 있도록 아래 명령어를 입력해줍니다.

Cockpit은 기본적으로 9090 포트를 사용합니다.

이미지에 대체텍스트 속성이 없습니다; 파일명은 image-358-1024x459.png 입니다.

만약 AWS,GCP,Oracle Cloud를 사용하신다면 방화벽도 따로 오픈해주셔야합니다.

접근은 ip:9090 포트로 접속하시면됩니다.
계정은 ubuntu 사용하시던거 사용하시면됩니다.

이미지에 대체텍스트 속성이 없습니다; 파일명은 image-359-1024x741.png 입니다.

시작하고나면 아래처럼 기본적인 시스템 정보와 함께 좌측에 메뉴들을보실수 있습니다.

이미지에 대체텍스트 속성이 없습니다; 파일명은 image-361-1024x287.png 입니다.

이미지에 대체텍스트 속성이 없습니다; 파일명은 image-362-1024x362.png 입니다.

이미지에 대체텍스트 속성이 없습니다; 파일명은 image-363-1024x398.png 입니다.

이제 이렇게 사용하셔도 되지만 저는 좀더 편하게 사용하기 위해 직접 도메인을 지정해주고 Reverse Proxy로 사용해보도록 하겠습니다.

Cockpit Reverse Proxy 셋팅(Nginx)

Nginx 를 사용하는 기반으로 셋팅하겠습니다.

리버스 프록시는 말그대로 프록시를 태워서 받는건데
예를 들어 hostname 으로 cockpit.dalso.org 를 접속한다면 내부의 127.0.0.1:9090 으로 자연스럽게 이어지게끔 셋팅하는걸 의미합니다.

그러기위해서는 cockpit.conf 의 설정과 nginx에서 가상호스트를 새로 추가해주면 됩니다.

cockpit.conf 설정하기

아래 파일이 없으면 그냥생성하면됩니다.

vi /etc/cockpit/cockpit.conf

 

[WebService]Origins = https://[하위도메인].[도메인] wss://[하위도메인].[도메인]ProtocolHeader = X-Forwarded-Proto

vi /etc/nginx/sites-available/[하위도메인].[도메인]

 

upstream backendcockpit {
        server 127.0.0.1:9090;
        keepalive 1024;
}

server {
        listen 80 ;
        listen [::]:80 ;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name [하위도메인].[도메인];
        location / {
        return 301 https://[하위도메인].[도메인]$request_uri; ###### HTTPS www로 리다이렉팅
    }

}

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        index index.php index.html index.htm index.nginx-debian.html;

        server_name [하위도메인].[도메인];
    ssl on;
    ssl_certificate /etc/letsencrypt/live/[도메인]/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/[도메인]/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/[도메인]/fullchain.pem;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 1440m;
    ssl_buffer_size 8k;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CB
C3-SHA +SHA !aNULL !eNULL !LOW !kECDH !DSS !MD5 !EXP !PSK !SRP !CAMELLIA !SEED';
    ssl_prefer_server_ciphers on;
    #ssl_trusted_certificate /etc/letsencrypt/live/[도메인]/chain.pem;
    ssl_stapling on;
    ssl_stapling_verify on;
        access_log  /var/log/nginx/web.access.log;
        error_log /var/log/nginx/web.error.log;

location / {
        # Required to proxy the connection to Cockpit
        proxy_pass https://127.0.0.1:9090;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Required for web sockets to function
        proxy_http_version 1.1;
        proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        # Pass ETag header from Cockpit to clients.
        # See: https://github.com/cockpit-project/cockpit/issues/5239
        gzip off;
}
}

이렇게 설정해주고 service cockpit restart 와 service nginx restart 로 재시작시켜주고 도메인으로 접근하시면 됩니다.

도메인은 당연히 cname을 설정하셨으리라 생각합니다..

이제 아래처럼 접근이 가능해집니다!

이미지에 대체텍스트 속성이 없습니다; 파일명은 image-364-1024x307.png 입니다.

Tags
신고공유스크랩
2
1등
kaga 2021.09.01. 00:14

달소님 아래 구문중에서

[WebService]Origins = https://[하위도메인].[도메인] wss://[하위도메인].[도메인]ProtocolHeader = X-Forwarded-Proto

 

wss://[하위도메인].[도메인]ProtocolHeader = X-Forwarded-Proto → wss://[하위도메인].[도메인] ProtocolHeader = X-Forwarded-Proto

 

[도메인] Protocol 사이에 띄워 줘야 하는거죠???

 

 

profile image
달소 글쓴이 2021.09.01. 02:18
kaga

넵넵 스페이스한칸해주시면 됩니다.

ex) test.svrforum.com ProtocolHeader

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
정보 proxmox/debian 레포 변경사항 (N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware') 1 달소 4시간 전08:21 66 +1
잡담 Proxmox 사이트도 개편을 했나보네요 1 달소 5시간 전07:46 123 +1
질문 적용 방법을 모르겠습니다?? 13 초보나스 2일 전08:05 239 +1
3858 질문
image
동도리군 36분 전12:14 22 0
3857 정보
image
달소 4시간 전08:21 66 +1
3856 잡담
image
달소 5시간 전07:46 124 +1
3855 가이드
image
달소 5시간 전07:24 94 0
3854 질문
normal
서버구축하자 23시간 전13:09 356 0
3853 질문
image
미스터빈 1일 전20:09 194 0
3852 질문
image
초보나스 2일 전08:05 239 +1
3851 질문
normal
웹서버구축관심 3일 전02:22 306 0
3850 잡담
normal
달소 3일 전23:39 203 +2
3849 질문
normal
게르노 4일 전03:11 189 0
3848 질문
image
감자칩 4일 전20:04 285 0
3847 질문
normal
ljr10 4일 전19:45 197 0
3846 질문
image
TANG 5일 전11:33 225 0
3845 질문
normal
감자칩 5일 전18:55 148 0
3844 질문
normal
숲형 6일 전11:21 277 0
3843 질문
image
kmw_ 6일 전09:37 196 +1
3842 질문
normal
bass9030 6일 전00:43 138 +1
3841 잡담
normal
칼룬 6일 전18:12 280 +1
3840 질문
normal
늘맑음 6일 전15:10 243 +1
3839 질문
image
게르노 24.04.18.12:26 91 0