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

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
번호 분류 제목 글쓴이 날짜 조회 추천
잡담 proxmox로 갈아탔습니다 7 기현 17시간 전07:34 279 +2
잡담 Immich가 FUTO에 합류했습니다.(Immich 핵심 팀은 정규직으로 근무합니다.) 4 달소 1일 전11:38 257 +1
정보 오픈아이콘 제공 사이트(https://cdn.jsdelivr.net) 오류 발생 => 복구됨 2 지딱코 2일 전14:31 213 +1
3894
image
달소 21.06.22.13:19 19460 0
3893
image
달소 22.03.17.22:09 19060 +14
3892
image
달소 20.12.25.17:18 16215 +5
3891
image
달소 23.01.27.14:15 16098 +8
3890
image
달소 21.01.02.13:32 8167 0
3889
image
달소 21.04.28.14:05 8121 +6
3888
image
똥쓰똥쓰 22.09.24.16:54 7996 +3
3887 정보
image
달소 21.05.06.11:38 7927 +4
3886
image
달소 21.02.26.15:02 7677 +1
3885
image
달소 21.07.30.17:12 7073 +4
3884
image
달소 22.03.17.23:40 7053 +2
3883 정보
image
달소 21.06.11.13:24 6944 +4
3882 질문
image
달소 21.04.23.12:51 6124 +3
3881
image
ExpBox 22.04.16.23:19 5906 +4
3880 정보
image
달소 22.05.06.13:12 5879 +3
3879
image
에프킬라 22.04.19.22:08 5870 +6
3878
image
달소 21.07.30.11:40 5736 +1
3877 정보
image
달소 21.10.21.17:59 5606 +3
3876
image
달소 23.04.09.14:13 5166 +4
3875
image
달소 22.03.17.22:25 5083 +10