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

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

달소 달소 679

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
번호 분류 제목 글쓴이 날짜 조회 추천
질문 /var/www 폴더가 삭제되었습니다. ㅜ,.ㅜ 2 니속사정 23시간 전20:42 228 +1
잡담 jellyfin 자원 진짜 안쓰네요 kmw_ 1일 전19:26 324 +1
잡담 iventoy pxe는 속도가 엄청 느리군요.. nohdd는 왜 빠르지.. 음... 2 purndal 1일 전00:52 176 +2
3900 질문
normal
맛밥 4시간 전16:13 74 0
3899 질문
normal
니속사정 23시간 전20:42 228 +1
3898 잡담
image
kmw_ 1일 전19:26 324 +1
3897 잡담
image
ljr10 1일 전18:44 220 0
3896 질문
image
ljr10 1일 전12:45 162 0
3895 잡담
image
purndal 1일 전00:52 176 +2
3894 질문
normal
스키피95 2일 전00:07 121 0
3893 질문
normal
고심분투 3일 전17:10 209 0
3892 질문
image
경호 3일 전15:50 98 0
3891 질문
normal
경호 3일 전13:23 69 0
3890 잡담
image
기현 3일 전07:34 445 +2
3889 잡담
image
keiminem 4일 전13:12 544 0
3888 잡담
normal
달소 4일 전11:38 326 +2
3887 질문
image
EXP 4일 전23:48 95 0
3886 질문
normal
홍익 5일 전19:26 227 0
3885 정보
image
지딱코 5일 전14:31 240 +1
3884 가이드
image
달소 5일 전22:22 404 +3
3883 가이드
image
ljr10 6일 전08:20 184 0
3882 가이드
image
달소 6일 전06:46 212 +1
3881
image
달소 6일 전05:50 251 +6