RHEL 웹 콘솔에서 시스템 관리


Red Hat Enterprise Linux 10

그래픽 웹 기반 인터페이스를 사용한 서버 관리

Red Hat Customer Content Services

초록

RHEL 웹 콘솔은 업스트림 Cockpit 프로젝트를 기반으로 하는 웹 기반 그래픽 인터페이스입니다. 이를 사용하면 systemd 서비스 검사 및 제어, 스토리지 관리, 네트워크 구성, 네트워크 문제 분석, 로그 검사와 같은 시스템 관리 작업을 수행할 수 있습니다.

Red Hat 문서에 관한 피드백 제공

문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.

Jira를 통해 피드백 제출 (계정 필요)

  1. Jira 웹 사이트에 로그인합니다.
  2. 상단 탐색 바에서 생성을 클릭합니다.
  3. 요약 필드에 설명 제목을 입력합니다.
  4. 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
  5. 대화 상자 하단에서 생성 을 클릭합니다.

1장. RHEL 웹 콘솔 시작하기

RHEL 웹 콘솔을 사용하여 시스템을 설치, 구성 및 모니터링하는 방법을 알아봅니다. 이 그래픽 인터페이스는 로그, 스토리지 및 원격 호스트 관리와 같은 일반적인 관리 작업을 간소화합니다.

1.1. RHEL 웹 콘솔이란?

RHEL 웹 콘솔은 네트워크 환경에서 로컬 시스템 및 Linux 서버를 관리하고 모니터링하는 웹 기반 그래픽 인터페이스입니다.

Mozilla Firefox 브라우저의 RHEL 웹 콘솔(Overview 페이지)

RHEL 웹 콘솔에서 다음을 포함하여 다양한 관리 작업을 수행할 수 있습니다.

  • 서비스 관리
  • 사용자 계정 관리
  • 시스템 서비스 관리 및 모니터링
  • 네트워크 인터페이스 및 방화벽 구성
  • 시스템 로그 검토
  • 가상 머신 관리
  • 진단 보고서 생성
  • 커널 덤프 구성 설정
  • Configuring SELinux
  • 소프트웨어 업데이트
  • 시스템 서브스크립션 관리

웹 콘솔은 명령줄과 동일한 시스템 툴을 사용합니다. 터미널에서 설정을 변경하면 웹 콘솔이 즉시 업데이트됩니다. 언제든지 웹 인터페이스와 터미널 간에 전환할 수 있습니다.

네트워크 환경에서 시스템의 로그 및 성능을 그래픽 형식으로 모니터링할 수도 있습니다. 또한 웹 콘솔에서 또는 터미널을 통해 설정을 직접 변경할 수 있습니다.

1.2. 웹 콘솔 설치 및 활성화

RHEL 웹 콘솔에 액세스하려면 먼저 cockpit.socket 서비스를 활성화합니다. RHEL 10에는 기본적으로 많은 설치 변형에 설치된 웹 콘솔이 포함되어 있습니다. 시스템에서 이러한 경우가 아니면 cockpit.socket 서비스를 활성화하기 전에 cockpit 패키지를 설치합니다.

프로세스

  1. 설치 변형에 웹 콘솔이 기본적으로 설치되지 않은 경우 cockpit 패키지를 수동으로 설치합니다.

    # dnf install cockpit
  2. 웹 서버를 실행하는 cockpit.socket 서비스를 활성화하고 시작합니다.

    # systemctl enable --now cockpit.socket
  3. 설치 변형에 웹 콘솔이 기본적으로 설치되지 않았으며 사용자 지정 방화벽 프로필을 사용하는 경우 cockpit 서비스를 firewalld 에 추가하여 방화벽에서 포트 9090을 엽니다.

    # firewall-cmd --add-service=cockpit --permanent
    # firewall-cmd --reload

검증

1.3. 웹 콘솔에 로그인

cockpit.socket 서비스가 실행 중이고 해당 방화벽 포트가 열려 있으면 처음으로 브라우저의 웹 콘솔에 로그인할 수 있습니다.

사전 요구 사항

  • 다음 브라우저 중 하나를 사용하여 웹 콘솔을 엽니다.

    • Mozilla Firefox 52 이상
    • Google Chrome 57 이상
    • Microsoft Edge 16 이상
  • 시스템 사용자 계정 인증 정보

    RHEL 웹 콘솔은 /etc/pam.d/cockpit.의 특정 플러그형 인증 모듈(PAM) 스택을 사용합니다. 기본 구성을 사용하면 시스템에 있는 모든 로컬 계정의 사용자 이름과 암호를 사용하여 로그인할 수 있습니다.

  • 9090 포트가 방화벽에 열려 있습니다.

프로세스

  1. 웹 브라우저에서 다음 주소를 입력하여 웹 콘솔에 액세스합니다.

    https://localhost:9090
    참고

    그러면 로컬 시스템에서 웹 콘솔 로그인이 제공됩니다. 원격 시스템의 웹 콘솔에 로그인하려면 원격 머신의 웹 콘솔에 연결 섹션을 참조하십시오.

    자체 서명된 인증서를 사용하는 경우 브라우저에 경고가 표시됩니다. 인증서를 확인하고 보안 예외를 수락하여 로그인을 진행합니다.

    콘솔은 /etc/cockpit/ws-certs.d 디렉터리에서 인증서를 로드하고 마지막 파일을 알파벳순으로 .cert 확장자와 함께 사용합니다. 보안 예외를 부여하지 않으려면 CA(인증 기관)에서 서명한 인증서를 설치합니다.

  2. 로그인 화면에서 시스템 사용자 이름과 암호를 입력합니다.
  3. 로그인 을 클릭합니다.

    인증에 성공하면 RHEL 웹 콘솔 인터페이스가 열립니다.

1.4. 웹 콘솔에서 관리 액세스

승격된 권한이 필요한 서비스, 사용자, 네트워킹 관리와 같은 권한 있는 작업을 수행하기 위해 RHEL 웹 콘솔에서 관리 액세스 권한을 얻을 수 있습니다.

일반 사용자 계정을 사용하여 처음 로그인하면 웹 콘솔이 제한된 액세스 권한으로 시작됩니다. 액세스 권한이 제한된 경우 설정을 볼 수 있지만 패키지 설치와 같은 관리 권한이 필요한 작업을 수행할 수 없습니다.

관리 작업을 수행하려면 웹 콘솔 페이지의 상단 패널에서 제한된 액세스 권한을 클릭합니다. 시스템에 대한 sudo 액세스 권한이 있어야 관리 액세스 권한을 얻으려면 사용자 암호를 제공해야 합니다. 이 시점에서 웹 콘솔은 관리 액세스 권한을 제공하고 사용자 세션에서 이 설정을 유지합니다.

제한된 액세스 권한으로 다시 전환하려면 웹 콘솔 페이지의 상단 패널에서 access 를 클릭합니다.

중요

RHEL 웹 콘솔은 보안상의 이유로 기본적으로 root 계정 로그인을 허용하지 않습니다. root로 로그인하는 대신 관리 액세스를 사용합니다. 시나리오에 root로 로그인해야 하는 경우 원격 시스템에서 root 사용자로 웹 콘솔에 연결을참조하십시오.

1.5. 웹 콘솔에서 기본 인증 비활성화

Kerberos와 같은 더 강력한 인증 방법을 적용하려면 RHEL 웹 콘솔에 대한 기본 인증을 비활성화합니다. cockpit.conf 파일에서 이 설정을 구성하여 기본 보안 동작을 덮어쓸 수 있습니다.

none 작업을 사용하여 인증 스키마를 비활성화하고 GSSAPI 및 양식을 통해서만 인증을 허용합니다.

사전 요구 사항

  • RHEL 10 웹 콘솔을 설치했습니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

  • sudo 를 사용하여 관리 명령을 입력할 수 있는 루트 권한 또는 권한이 있습니다.

프로세스

  1. 기본 설정 텍스트 편집기에서 /etc/cockpit/ 디렉토리에 cockpit.conf 파일을 열거나 만듭니다. 예를 들면 다음과 같습니다.

    # vi cockpit.conf
  2. 다음 텍스트를 추가합니다.

    [basic]
    action = none
  3. 파일을 저장합니다.
  4. 변경 사항을 적용하려면 웹 콘솔을 다시 시작합니다.

    # systemctl try-restart cockpit

1.6. 원격 머신에서 웹 콘솔에 연결

모든 클라이언트 운영 체제 및 휴대폰 또는 태블릿에서도 웹 콘솔 인터페이스에 연결할 수 있습니다.

사전 요구 사항

  • 지원되는 인터넷 브라우저가 있는 장치(예:)

    • Mozilla Firefox 52 이상
    • Google Chrome 57 이상
    • Microsoft Edge 16 이상
  • 설치 및 액세스 가능한 웹 콘솔을 사용하여 액세스하려는 RHEL 10 시스템입니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

프로세스

  1. 웹 브라우저를 엽니다.
  2. 다음 형식 중 하나로 원격 서버의 주소를 입력합니다.

    1. 서버의 호스트 이름:

      https://<server.hostname.example.com>:<port-number>

      예를 들면 다음과 같습니다.

      https://example.com:9090
    2. 서버의 IP 주소:

      https://<server.IP_address>:<port-number>

      예를 들면 다음과 같습니다.

      https://192.0.2.2:9090
  3. 로그인 인터페이스가 열린 후 RHEL 시스템 인증 정보로 로그인합니다.

1.7. 원격 시스템에서 root 사용자로 웹 콘솔에 연결

root 사용자로 RHEL 웹 콘솔에 연결하여 원격 호스트에 대한 전체 관리 권한을 얻을 수 있습니다. 이 권한 있는 연결에 대한 암호 대신 SSH 키를 사용해야 합니다.

RHEL 9.2 이상을 새로 설치할 때 보안상의 이유로 RHEL 웹 콘솔에서는 기본적으로 루트 계정 로그인을 허용하지 않습니다. /etc/cockpit/disallowed-users 파일에서 root 로그인을 허용할 수 있습니다.

사전 요구 사항

프로세스

  1. 기본 설정 텍스트 편집기에서 /etc/cockpit/ 디렉토리에서 disallowed-users 파일을 엽니다. 예를 들면 다음과 같습니다.

    # vi /etc/cockpit/disallowed-users
  2. 파일을 편집하고 root 사용자의 행을 제거합니다.

    # List of users which are not allowed to login to Cockpit root
     
  3. 변경 사항을 저장하고 편집기를 종료합니다.

검증

1.8. 일회성 암호를 사용하여 웹 콘솔에 로그인

보안을 강화하기 위해 일회성 암호(OTP)를 사용하여 RHEL 웹 콘솔에 로그인합니다. 활성화된 OTP를 사용하여 IdM 도메인에서 이 2 단계 인증 방법을 사용할 수 있습니다.

중요

시스템이 활성화된 IdM(Identity Management) 도메인의 일부인 경우에만 일회성 암호를 사용하여 로그인할 수 있습니다.

사전 요구 사항

  • RHEL 10 웹 콘솔을 설치했습니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

  • 활성화된 OTP 구성이 있는 ID 관리 서버.
  • OTP 토큰을 생성하는 구성된 하드웨어 또는 소프트웨어 장치입니다.

프로세스

  1. 브라우저에서 RHEL 웹 콘솔을 엽니다.

    • 로컬: https://localhost:9090
    • 원격으로 서버 호스트 이름: https://example.com:9090
    • 원격 서버 IP 주소: https://EXAMPLE.SERVER.IP.ADDR:9090

      자체 서명된 인증서를 사용하는 경우 브라우저에서 경고를 발행합니다. 인증서를 확인하고 보안 예외를 수락하여 로그인을 진행합니다.

      콘솔은 /etc/cockpit/ws-certs.d 디렉터리에서 인증서를 로드하고 마지막 파일을 알파벳순으로 .cert 확장자와 함께 사용합니다. 보안 예외를 부여하지 않으려면 CA(인증 기관)에서 서명한 인증서를 설치합니다.

  2. 로그인 창이 열립니다. 로그인 창에서 시스템 사용자 이름과 암호를 입력합니다.
  3. 장치에 일회성 암호를 생성합니다.
  4. 암호를 확인한 후 웹 콘솔 인터페이스에 표시되는 새 필드에 일회성 암호를 입력합니다.
  5. Log in 을 클릭합니다.
  6. 성공적으로 로그인하면 웹 콘솔 인터페이스의 개요 페이지로 이동합니다.

1.9. 로그인 페이지에 배너 추가

RHEL 웹 콘솔 로그인 페이지에 사용자 지정 배너를 추가할 수 있습니다. 이렇게 하면 시스템에 로그인하기 전에 중요한 보안 경고 또는 법적 알림을 사용자에게 표시할 수 있습니다.

사전 요구 사항

  • RHEL 10 웹 콘솔을 설치했습니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

  • sudo 를 사용하여 관리 명령을 입력할 수 있는 루트 권한 또는 권한이 있습니다.

프로세스

  1. 기본 설정 텍스트 편집기에서 /etc/issue.cockpit 파일을 엽니다.

    # vi /etc/issue.cockpit
  2. 파일에 배너로 표시할 콘텐츠를 추가합니다. 예를 들면 다음과 같습니다.

    This is an example banner for the RHEL web console login page.

    파일에 매크로를 포함할 수는 없지만 줄 바꿈과 ASCII Art을 사용할 수 있습니다.

  3. 파일을 저장합니다.
  4. 기본 설정 텍스트 편집기에서 /etc/cockpit/ 디렉토리에서 cockpit.conf 파일을 엽니다. 예를 들면 다음과 같습니다.

    # vi /etc/cockpit/cockpit.conf
  5. 파일에 다음 텍스트를 추가합니다.

    [Session]
    Banner=/etc/issue.cockpit
  6. 파일을 저장합니다.
  7. 변경 사항을 적용하려면 웹 콘솔을 다시 시작합니다.

    # systemctl try-restart cockpit

검증

  • 웹 콘솔 로그인 화면을 다시 열어 배너가 표시되는지 확인합니다.

    Example banner

1.10. 웹 콘솔에서 자동 유휴 잠금 구성

자동 유휴 잠금을 활성화하고 웹 콘솔 인터페이스를 통해 시스템의 유휴 타임아웃을 설정할 수 있습니다. 이렇게 하면 일정이 비활성화된 후 화면이 자동으로 잠기므로 시스템이 무단 액세스로부터 보호됩니다.

사전 요구 사항

  • RHEL 10 웹 콘솔을 설치했습니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

  • sudo 를 사용하여 관리 명령을 입력할 수 있는 루트 권한 또는 권한이 있습니다.

프로세스

  1. 기본 설정 텍스트 편집기에서 /etc/cockpit/ 디렉토리에서 cockpit.conf 파일을 엽니다. 예를 들면 다음과 같습니다.

    # vi /etc/cockpit/cockpit.conf
  2. 파일에 다음 텍스트를 추가합니다.

    [Session]
    IdleTimeout=<X>

    몇 분 내에 선택한 기간 동안 < X >를 숫자로 바꿉니다.

  3. 파일을 저장합니다.
  4. 변경 사항을 적용하려면 웹 콘솔을 다시 시작합니다.

    # systemctl try-restart cockpit

검증

  • 설정된 시간 후에 세션이 로그아웃되는지 확인합니다.

1.11. 웹 콘솔 수신 포트 변경

기본적으로 RHEL 웹 콘솔은 TCP 포트 9090을 통해 통신합니다. 기본 소켓 설정을 재정의하여 포트 번호를 변경할 수 있습니다. 이러한 조정은 특정 보안 또는 네트워크 정책을 충족하기 위해 종종 필요합니다.

사전 요구 사항

  • RHEL 10 웹 콘솔을 설치했습니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

  • sudo 를 사용하여 관리 명령을 입력할 수 있는 루트 권한 또는 권한이 있습니다.
  • firewalld 서비스가 실행 중입니다.

프로세스

  1. 사용하지 않는 포트(예: < 4488/tcp >)를 선택하고 SELinux에 cockpit 서비스가 해당 포트에 바인딩되도록 지시합니다.

    # semanage port -a -t websm_port_t -p tcp <4488>

    포트는 한 번에 하나의 서비스에서만 사용할 수 있으므로 이미 사용되고 있는 포트를 사용하려는 경우 ValueError: 포트가 이미 정의된 오류 메시지를 의미합니다.

  2. 새 포트를 열고 방화벽에서 이전 포트를 종료합니다.

    # firewall-cmd --service cockpit --permanent --add-port=<4488>/tcp
    # firewall-cmd --service cockpit --permanent --remove-port=9090/tcp
  3. cockpit.socket 서비스에 대한 덮어쓰기 파일을 생성합니다.

    # systemctl edit cockpit.socket
  4. 다음 편집기 화면에서 /etc/systemd/system/cockpit.socket.d/ 디렉터리에 있는 빈 override.conf 파일을 열고 다음 행을 추가하여 웹 콘솔의 기본 포트를 9090에서 이전에 선택한 번호로 변경합니다.

    [Socket]
    ListenStream=
    ListenStream=<4488>

    빈 값이 있는 첫 번째 ListenStream= 지시문은 의도적입니다. 단일 소켓 단위로 여러 ListenStream 지시문을 선언하고 드롭인 파일의 빈 값은 목록을 재설정하고 원래 장치의 기본 포트 9090을 비활성화할 수 있습니다.

    중요

    이 아래 의 줄과 #로 시작하는 줄 사이에 이전 코드 조각을 삽입합니다. 그렇지 않으면 시스템이 변경 사항을 삭제합니다.

  5. 변경 사항을 저장하고 편집기를 종료합니다.
  6. 변경된 구성을 다시 로드합니다.

    # systemctl daemon-reload
  7. 구성이 작동하는지 확인합니다.

    # systemctl show cockpit.socket -p Listen
    Listen=[::]:4488 (Stream)
  8. cockpit.socket:

    # systemctl restart cockpit.socket

검증

  • 웹 브라우저를 열고 업데이트된 포트에서 웹 콘솔에 액세스합니다. 예를 들면 다음과 같습니다.

    https://machine1.example.com:4488

2장. RHEL 시스템 역할을 사용하여 웹 콘솔 설치 및 구성

cockpit RHEL 시스템 역할을 사용하면 여러 RHEL 시스템에서 웹 콘솔을 자동으로 배포하고 활성화할 수 있습니다.

2.1. cockpit RHEL 시스템 역할을 사용하여 웹 콘솔 설치

cockpit 시스템 역할을 사용하여 여러 시스템에서 RHEL 웹 콘솔 설치 및 활성화를 자동화할 수 있습니다.

cockpit 시스템 역할을 사용하여 다음을 수행합니다.

  • RHEL 웹 콘솔을 설치합니다.
  • firewalldselinux 시스템 역할이 새 포트를 열도록 시스템을 구성하도록 허용합니다.
  • 자체 서명된 인증서를 사용하는 대신 ipa 신뢰할 수 있는 인증 기관의 인증서를 사용하도록 웹 콘솔을 설정합니다.
참고

방화벽을 관리하거나 인증서를 생성하기 위해 플레이북에서 방화벽 또는 인증서 시스템 역할을 호출할 필요가 없습니다. cockpit 시스템 역할은 필요에 따라 자동으로 호출합니다.

사전 요구 사항

  • 컨트롤 노드와 관리형 노드를 준비했습니다.
  • 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
  • 관리 노드에 연결하는 데 사용하는 계정에는 이러한 노드에 대한 sudo 권한이 있습니다.

프로세스

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/playbook.yml )을 생성합니다.

    ---
    - name: Manage the RHEL web console
      hosts: managed-node-01.example.com
      tasks:
        - name: Install RHEL web console
          ansible.builtin.include_role:
            name: redhat.rhel_system_roles.cockpit
          vars:
            cockpit_packages: default
            cockpit_port: 9090
            cockpit_manage_selinux: true
            cockpit_manage_firewall: true
            cockpit_certificates:
              - name: /etc/cockpit/ws-certs.d/01-certificate
                dns: ['localhost', 'www.example.com']
                ca: ipa

    예제 플레이북에 지정된 설정은 다음과 같습니다.

    cockpit_manage_selinux: true
    selinux 시스템 역할을 사용하여 websm_port_t SELinux 유형에 올바른 포트 권한을 설정하도록 SELinux를 구성합니다.
    cockpit_manage_firewall: true
    cockpit 시스템 역할이 포트 추가를 위해 firewalld 시스템 역할을 사용하도록 허용합니다.
    cockpit_certificates: <YAML_dictionary>

    기본적으로 RHEL 웹 콘솔은 자체 서명된 인증서를 사용합니다. 또는 cockpit_certificates 변수를 플레이북에 추가하고 IdM 인증 기관(CA)에서 인증서를 요청하거나 관리 노드에서 사용 가능한 기존 인증서 및 개인 키를 사용하도록 역할을 구성할 수 있습니다.

    플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의 /usr/share/ansible/roles/rhel-system-roles.cockpit/README.md 파일을 참조하십시오.

  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. Playbook을 실행합니다.

    $ ansible-playbook ~/playbook.yml

3장. 웹 콘솔 애드온 설치 및 사용자 정의 페이지 생성

Red Hat Enterprise Linux 시스템 사용 방법에 따라 사용 가능한 애플리케이션을 웹 콘솔에 추가하거나 사용 사례에 따라 사용자 지정 페이지를 생성할 수 있습니다.

3.1. RHEL 웹 콘솔용 애드온 애플리케이션

콘솔 또는 명령줄의 애플리케이션 페이지를 사용하여 RHEL 웹 콘솔용 선택적 추가 기능을 설치합니다. 이러한 애드온은 특정 관리 작업을 위한 도구를 제공합니다.

다음 방법 중 하나를 사용하여 애드온 애플리케이션을 설치할 수 있습니다.

  1. 웹 콘솔에서 애플리케이션을 클릭하고 사용 가능하고 이미 설치된 애플리케이션 목록에서 설치 버튼을 사용합니다.

    RHEL 웹 콘솔의 애드온 애플리케이션
  2. 터미널에서 dnf install 명령을 사용합니다.

    # dnf install <add-on>

    이전 명령에서 < add-on >을 RHEL 웹 콘솔에 사용 가능한 추가 기능 애플리케이션 목록의 패키지 이름으로 바꿉니다.

Expand
기능 이름패키지 이름사용법

파일 관리자

cockpit-files

표준 웹 콘솔 인터페이스에서 파일 및 디렉터리 관리

HA 클러스터 관리

cockpit-ha-cluster [a]

Red Hat High Availability 클러스터 구성을 위한 pcsd Web UI

이미지 빌더

cockpit-image-builder

사용자 지정 운영 체제 이미지 빌드

Machine

cockpit-machines

libvirt 가상 머신 관리

PackageKit

cockpit-packagekit

소프트웨어 업데이트 및 애플리케이션 설치(일반적으로 기본적으로 설치)

PCP

cockpit-pcp

영구 및 보다 세분화된 성능 데이터(UI에서 온디맨드 설치)

Podman

cockpit-podman

컨테이너 관리및 컨테이너 이미지 관리

세션 레코딩

cockpit-session-recording

사용자 세션 기록 및 관리

스토리지

cockpit-storaged

udisks를 통한 스토리지 관리

[a] pcsd 서비스 활성화와 같은 추가 단계가 필요할 수 있습니다. 자세한 내용은 고가용성 클러스터 구성 및 관리 문서의 클러스터 소프트웨어 설치 섹션을 참조하십시오.

3.2. 웹 콘솔에서 새 페이지 생성

HTML 및 JavaScript 파일이 포함된 패키지 디렉터리를 추가하여 RHEL 웹 콘솔에서 사용자 지정 페이지를 생성할 수 있습니다. 이를 통해 사용자 지정 기능 및 인터페이스를 콘솔에 통합할 수 있습니다.

사용자 지정 페이지 추가에 대한 자세한 내용은 Cockpit 프로젝트 웹 사이트의 Cockpit 사용자 인터페이스용 플러그인 생성 섹션 및 Cockpit 패키지 섹션에서 Cockpit 프로젝트 개발자 가이드를 참조하십시오.

3.3. 웹 콘솔에서 매니페스트 설정 덮어쓰기

기본 매니페스트 설정을 재정의하여 모든 사용자 또는 특정 사용자의 RHEL 웹 콘솔 메뉴 구조를 수정할 수 있습니다. 재정의를 생성하여 메뉴 항목의 가시성 또는 순서를 조정합니다.

cockpit 프로젝트에서 패키지 이름은 디렉터리 이름입니다. 패키지에는 다른 파일과 함께 manifest.json 파일이 포함되어 있습니다. 기본 설정은 manifest.json 파일에 있습니다. 지정된 사용자의 특정 위치에 < package_name > .override.json 파일을 생성하여 기본 cockpit 메뉴 설정을 재정의할 수 있습니다.

사전 요구 사항

프로세스

  1. 선택한 텍스트 편집기에서 < systemd > .override.json 파일의 매니페스트 설정을 재정의합니다. 예를 들면 다음과 같습니다.

    1. 모든 사용자에 대해 편집하려면 다음을 입력합니다.

      # vi /etc/cockpit/<systemd>.override.json
    2. 단일 사용자에 대해 편집하려면 다음을 입력합니다.

      # vi ~/.config/cockpit/<systemd>.override.json
  2. 다음 세부 정보를 사용하여 필요한 파일을 편집합니다.

    {
      "menu": {
      "services": null,
      "logs": {
          "order": -1
      }
     }
    }
    • null 값은 서비스 탭을 숨깁니다.
    • -1 값은 로그 탭을 먼저 이동합니다.
  3. cockpit 서비스를 다시 시작하십시오.

    # systemctl restart cockpit.service

4장. 웹 콘솔에서 서브스크립션 관리

Red Hat Enterprise Linux 10 웹 콘솔에서 Red Hat 제품 서브스크립션을 관리할 수 있습니다. 이 기능은 시스템 서브스크립션을 보고, 등록하고, 관리하기 위한 그래픽 인터페이스를 제공합니다.

4.1. 사전 요구 사항

4.2. 웹 콘솔의 서브스크립션 관리

RHEL 웹 콘솔을 로컬 시스템에서 Red Hat Subscription Manager의 그래픽 인터페이스로 사용할 수 있습니다. 이를 통해 연결된 서브스크립션을 등록, 관리 및 확인하는 프로세스를 단순화할 수 있습니다.

서브스크립션 관리자는 Red Hat 고객 포털에 연결하여 사용 가능한지 확인합니다.

  • 활성 서브스크립션
  • 만료된 서브스크립션
  • 갱신된 서브스크립션

Red Hat 고객 포털에서 서브스크립션을 갱신하거나 다른 서브스크립션을 얻으려면 서브스크립션 관리자 데이터를 수동으로 업데이트할 필요가 없습니다.

서브스크립션 관리자는 Red Hat 고객 포털과 자동으로 데이터를 동기화합니다.

4.3. 웹 콘솔에서 인증 정보를 사용하여 서브스크립션 등록

웹 콘솔에서 직접 Red Hat Customer Portal 인증 정보를 사용하여 RHEL 시스템을 등록하고 서브스크립션을 연결할 수 있습니다.

사전 요구 사항

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. 개요 페이지에서 등록하지 않은 경고를 클릭하거나 기본 메뉴에서 서브스크립션 을 클릭하여 서브스크립션 정보가 포함된 페이지로 이동합니다.

    Health status - Not registered

  3. 개요 필드에서 등록을 클릭합니다.
  4. 등록 시스템 대화 상자에서 계정 자격 증명을 사용하여 등록할 계정을 선택합니다.
  5. 사용자 이름을 입력합니다.
  6. 암호를 입력합니다.
  7. 선택 사항: 조직의 이름 또는 ID를 입력합니다.

    계정이 Red Hat 고객 포털에서 두 개 이상의 조직에 속하는 경우 조직 이름 또는 조직 ID를 추가해야 합니다. 조직 ID를 가져오려면 Red Hat 연락처로 이동하십시오.

    • 시스템을 Red Hat Lightspeed에 연결하지 않으려면 Insights 확인란을 지웁니다.
  8. 등록을 클릭합니다.

4.4. 웹 콘솔에서 활성화 키로 서브스크립션 등록

RHEL 웹 콘솔에 새로 설치된 Red Hat Enterprise Linux를 활성화 키로 등록할 수 있습니다.

사전 요구 사항

  • Red Hat 제품 서브스크립션의 활성화 키.

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. 개요 페이지의 상태 필드에서 등록된 경고를 클릭하거나 기본 메뉴에서 서브스크립션 을 클릭하여 서브스크립션 정보가 있는 페이지로 이동합니다.

    Health status - Not registered .

  3. 작성된 개요 에서 등록을 클릭합니다.
  4. 등록 시스템 대화 상자에서 활성화 키를 선택하여 활성화 키를 선택합니다.
  5. 키 또는 키를 입력합니다.
  6. 조직의 이름 또는 ID를 입력합니다.

    조직 ID를 가져오려면 Red Hat 연락처로 이동하십시오.

    • 시스템을 Red Hat Lightspeed에 연결하지 않으려면 Insights 확인란을 지웁니다.
  7. 등록을 클릭합니다.

5장. 웹 콘솔에서 원격 시스템 관리

원격 시스템에 연결하고 Red Hat Enterprise Linux 웹 콘솔에서 관리할 수 있으므로 단일 중앙 인터페이스에서 네트워크 전체의 시스템을 모니터링하고 관리할 수 있습니다.

보안상의 이유로 웹 콘솔에서 관리하는 원격 시스템의 다음 네트워크 설정을 사용합니다.

  • 하나의 시스템을 bastion 호스트로 구성합니다. bastion 호스트는 열려 있는 HTTPS 포트가 있는 시스템입니다.
  • 다른 모든 시스템은 SSH를 통해 통신합니다.

bastion 호스트에서 웹 인터페이스를 실행하면 SSH 프로토콜을 통해 다른 모든 시스템에 연결할 수 있습니다.

5.1. 웹 콘솔 로그인 페이지에서 SSH를 사용하여 원격 호스트에 연결

RHEL 웹 콘솔의 로그인 페이지에서 직접 SSH 프로토콜을 사용하여 원격 시스템에 연결할 수 있습니다. 원격으로 로그인하면 연결 트래픽이 암호화되고 웹 콘솔의 그래픽 인터페이스에서 원격 시스템을 관리할 수 있습니다.

사전 요구 사항

  • RHEL 10 웹 콘솔을 설치했습니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

  • cockpit-system 패키지는 원격 시스템에 설치됩니다.
  • sshd 서비스는 원격 시스템에서 실행되며 해당 포트는 방화벽에서 허용됩니다.

프로세스

  1. 웹 콘솔 로그인 페이지를 엽니다.
  2. 사용자 이름 필드에 있는 원격 호스트의 사용자 이름을 지정합니다.
  3. 다른 옵션을 클릭하여 텍스트에 연결 필드를 표시합니다.
  4. 텍스트에 연결 필드에서 SSH를 사용하여 연결할 원격 호스트를 지정합니다. 포트를 지정하지 않으면 웹 콘솔에서 지정된 원격 호스트에서 포트 22에 연결을 시도합니다.

    웹 콘솔 로그인 페이지에서 직접 원격 SSH 로그인
  5. Log in 을 클릭합니다.

5.2. 웹 콘솔에 원격 호스트 추가

RHEL 웹 콘솔에 로그인하면 개요 페이지의 왼쪽 상단에 있는 호스트 전환기를 통해 로컬 시스템과 여러 원격 호스트 간에 전환할 수 있습니다. 호스트 전환기에 인증 정보를 추가한 후 원격 시스템에 연결하고 관리할 수 있습니다.

사전 요구 사항

프로세스

  1. 터미널에서 기본 설정 텍스트 편집기에서 /etc/cockpit/ 디렉터리에 cockpit.conf 파일을 열거나 만듭니다.
  2. 다음 텍스트를 추가합니다.

    [WebService]
    AllowMultiHost=yes
    주의

    호스트 전환은 더 이상 사용되지 않으며 기본적으로 비활성화되어 있습니다. 웹 기술 제한으로 인해 이 기능은 안전하지 않습니다. 연결된 모든 시스템이 연결된 나머지 부분에 임의의 변경을 수행할 수 있으므로 신뢰할 수 없는 호스트에 연결하는 경우 호스트 전환기를 활성화하지 마십시오. 더 안전한 대안으로 웹 브라우저 세션에서 하나의 호스트에 대한 보안 제한이 있는 웹 콘솔 로그인 페이지를 사용하거나 Cockpit Client Flatpak을 사용할 수 있습니다.

  3. 파일을 저장합니다.
  4. 웹 콘솔을 다시 시작하여 변경 사항이 적용되었는지 확인합니다.

    # systemctl try-restart cockpit
  5. RHEL 웹 콘솔에서 개요 페이지의 왼쪽 상단에 있는 < username> @ <hostname >을 클릭합니다.

    username@hostname drop-down menu

  6. 드롭다운 메뉴에서 새 호스트 추가 를 클릭합니다.
  7. 새 호스트 추가 대화 상자에서 추가할 호스트를 지정합니다.
  8. 선택 사항: 연결할 계정의 사용자 이름을 추가합니다.

    원격 시스템의 모든 사용자 계정을 사용할 수 있습니다. 그러나 관리 권한이 없는 사용자 계정의 자격 증명을 사용하는 경우 관리 작업을 수행할 수 없습니다.

    로컬 시스템에서와 동일한 인증 정보를 사용하는 경우 웹 콘솔은 로그인할 때마다 원격 시스템을 자동으로 인증합니다.

    중요

    웹 콘솔은 원격 시스템에 로그인하는 데 사용되는 암호를 저장하지 않습니다.

  9. 선택 사항: 색상 필드를 클릭하여 시스템의 색상을 변경합니다.
  10. 추가 를 클릭합니다.

검증

  • 새 호스트는 < username&gt; @ &lt;hostname& gt; 드롭다운 메뉴에 나열됩니다.

5.3. 새 호스트에 대한 SSH 로그인 활성화

RHEL 웹 콘솔에서 키 기반 인증을 사용하여 새 원격 호스트에 대해 보안 SSH 로그인을 활성화할 수 있습니다.

시스템에 SSH 키가 이미 있는 경우 웹 콘솔에서 기존 키를 사용합니다. 그렇지 않으면 키를 생성할 수 있습니다.

사전 요구 사항

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. RHEL 웹 콘솔에서 개요 페이지의 왼쪽 상단에 있는 < username> @ <hostname >을 클릭합니다.

    username@hostname 드롭다운 메뉴
  3. 드롭다운 메뉴에서 새 호스트 추가 를 클릭합니다.
  4. 새 호스트 추가 대화 상자에서 추가할 호스트를 지정합니다. 처음으로 호스트에 연결하는 경우 Trust를 클릭하고 다음 대화 상자에서 새 호스트를 추가해야 합니다.
  5. 암호 대화 상자는 호스트에 SSH 키 파일이 있는지에 따라 다릅니다.

    1. 호스트에 대한 SSH 키가 이미 있는 경우 SSH 키 권한 부여 옵션을 선택합니다.
    2. SSH 키가 없는 경우 새 SSH 키 만들기를 선택하고 권한을 부여합니다. 웹 콘솔에서 키를 생성합니다.
  6. SSH 키의 암호를 추가하고 확인합니다.
  7. Log in 을 클릭합니다.

검증

  1. 로그아웃합니다.
  2. 다시 로그인합니다.
  3. Not connected to host 화면에서 Log in 을 클릭합니다.
  4. 인증 옵션으로 SSH 키를 선택합니다.
  5. 키 암호를 입력합니다.
  6. Log in 을 클릭합니다.

5.4. 웹 콘솔에서 SSH 로그인을 위한 스마트 카드 인증 구성

RHEL 웹 콘솔에서 사용자 계정에 로그인한 후 SSH 프로토콜을 사용하여 원격 머신에 연결할 수 있습니다. 제한된 위임 기능을 사용하여 다시 인증하라는 요청없이 SSH를 사용할 수 있습니다.

예제 절차에서 웹 콘솔 세션은 myhost.idm.example.com 호스트에서 실행되며 인증된 사용자를 대신하여 SSH를 사용하여 remote.idm.example.com 호스트에 액세스하도록 콘솔을 구성합니다.

사전 요구 사항

  • myhost.idm.example.com 에서 IdM 관리자 티켓(TGT)을 가져왔습니다.
  • remote.idm.example.com 에 대한 루트 액세스 권한이 있어야 합니다.
  • 웹 콘솔을 실행하는 호스트는 IdM 도메인의 멤버입니다.

프로세스

  1. 터미널 페이지에서 사용자 세션에서 웹 콘솔이 User to Proxy(S4U2proxy) Kerberos 티켓을 생성한지 확인합니다.

    $ klist
    …
    Valid starting     Expires            Service principal
    05/20/25 09:19:06 05/21/25 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
  2. 위임 규칙이 액세스할 수 있는 대상 호스트 목록을 생성합니다.

    1. 서비스 위임 대상을 생성합니다.

      $ ipa servicedelegationtarget-add cockpit-target
    2. 위임 대상에 대상 호스트를 추가합니다.

      $ ipa servicedelegationtarget-add-member cockpit-target \
        --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
  3. 서비스 위임 규칙을 생성하고 HTTP 서비스 Kerberos 주체를 추가하여 cockpit 세션이 대상 호스트 목록에 액세스하도록 허용합니다.

    1. 서비스 위임 규칙을 생성합니다.

      $ ipa servicedelegationrule-add cockpit-delegation
    2. 위임 규칙에 웹 콘솔 클라이언트를 추가합니다.

      $ ipa servicedelegationrule-add-member cockpit-delegation \
        --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
    3. 위임 규칙에 위임 대상을 추가합니다.

      $ ipa servicedelegationrule-add-target cockpit-delegation \
        --servicedelegationtargets=cockpit-target
  4. remote.idm.example.com 호스트에서 Kerberos 인증을 활성화합니다.

    1. SSH를 통해 rootremote.idm.example.com 에 연결합니다.
    2. /etc/ssh/sshd_config 파일에 GSSAPIAuthentication yes 행을 추가합니다.
  5. remote.idm.example.com 에서 sshd 서비스를 다시 시작하여 변경 사항이 즉시 적용됩니다.

    $ systemctl try-restart sshd.service

RHEL 웹 콘솔에서 사용자 계정에 로그인한 후 SSH 프로토콜을 사용하여 원격 머신에 연결할 수 있습니다. servicedelegationruleservicedelegationtarget Ansible 모듈을 사용하여 제한된 위임 기능에 대한 웹 콘솔을 구성할 수 있으므로 다시 인증할 수 없습니다.

예제 절차에서 웹 콘솔 세션은 myhost.idm.example.com 호스트에서 실행되며 인증된 사용자를 대신하여 SSH를 사용하여 remote.idm.example.com 호스트에 액세스하도록 구성합니다.

사전 요구 사항

  • myhost.idm.example.com 에서 IdM 관리자 티켓(TGT)을 가져왔습니다.
  • remote.idm.example.com 에 대한 루트 액세스 권한이 있어야 합니다.
  • 웹 콘솔을 실행하는 호스트는 IdM 도메인의 멤버입니다.
  • 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.

    • ansible-freeipa 패키지가 설치되어 있습니다.
    • 이 예제에서는 ~/MyPlaybooks/ 디렉터리에 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
    • 이 예제에서는 secret.yml Ansible vault가 ipaadmin_password 변수에 admin 암호를 저장한다고 가정합니다.

      자세한 내용은 /usr/share/doc/ansible-freeipa/ playbooks/servicedelegationtarget/usr/share/doc/ansible-freeipa/playbooks/servicedelegationrule 디렉터리 및 README-servicedelegationrule.mdREADME-servicedelegationtarget.md 파일을 참조하십시오.

  • ansible-freeipa 모듈이 실행되는 노드인 대상 노드는 IdM 클라이언트, 서버 또는 복제본으로 IdM 도메인의 일부입니다.

프로세스

  1. ~/MyPlaybooks/ 디렉터리로 이동합니다.

    $ cd ~/MyPlaybooks/
  2. 중요한 변수를 암호화된 파일에 저장합니다.

    1. 자격 증명 모음을 생성합니다.

      $ ansible-vault create secret.yml
      New Vault password: <vault_password>
      Confirm New Vault password: <vault_password>
    2. ansible-vault create 명령이 편집기를 열고 < key > : < value > 형식으로 중요한 데이터를 입력합니다.

      ipaadmin_password: <admin_password>
    3. 변경 사항을 저장하고 편집기를 종료합니다. Ansible은 자격 증명 모음의 데이터를 암호화합니다.
  3. 터미널 페이지에서 사용자 세션에서 웹 콘솔이 User to Proxy(S4U2proxy) Kerberos 티켓을 생성한지 확인합니다.

    $ klist
    …
    Valid starting     Expires            Service principal
    05/20/25 09:19:06 05/21/25 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
  4. 다음 콘텐츠를 사용하여 web-console-smart-card-ssh.yml 플레이북을 생성합니다.

    1. 위임 대상의 존재를 확인하는 작업을 생성합니다.

      ---
      - name: Playbook to create a constrained delegation target
        hosts: ipaserver
      
        vars_files:
        - /home/user_name/MyPlaybooks/secret.yml
        tasks:
        - name: Ensure servicedelegationtarget web-console-delegation-target is present
          ipaservicedelegationtarget:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-target
    2. 위임 대상에 대상 호스트를 추가하는 작업을 추가합니다.

        - name: Ensure servicedelegationtarget web-console-delegation-target member principal host/remote.idm.example.com@IDM.EXAMPLE.COM is present
          ipaservicedelegationtarget:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-target
            principal: host/remote.idm.example.com@IDM.EXAMPLE.COM
            action: member
    3. 위임 규칙이 있는지 확인하는 작업을 추가합니다.

        - name: Ensure servicedelegationrule delegation-rule is present
          ipaservicedelegationrule:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-rule
    4. 웹 콘솔 클라이언트 서비스의 Kerberos 주체가 제한된 위임 규칙의 멤버인지 확인하는 작업을 추가합니다.

        - name: Ensure the Kerberos principal of the web console client service is added to the servicedelegationrule web-console-delegation-rule
          ipaservicedelegationrule:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-rule
            principal: HTTP/myhost.idm.example.com
            action: member
    5. 제한된 위임 규칙이 web-console-delegation-target 위임 대상과 연결되어 있는지 확인하는 작업을 추가합니다.

        - name: Ensure a constrained delegation rule is associated with a specific delegation target
          ipaservicedelegationrule:
            ipaadmin_password: "{{ ipaadmin_password }}"
            name: web-console-delegation-rule
            target: web-console-delegation-target
            action: member
    6. remote.idm.example.com 에서 Kerberos 인증을 활성화하는 작업을 추가합니다.

        - name: Enable Kerberos authentication
          hosts: remote.idm.example.com
          vars:
            sshd_config:
              GSSAPIAuthentication: true
          roles:
            - role: rhel-system-roles.sshd
  5. 파일을 저장합니다.
  6. Ansible 플레이북을 실행합니다. 플레이북 파일을 지정하고 secret.yml 파일을 보호하는 암호를 저장하는 파일 및 인벤토리 파일을 지정합니다.

    $ ansible-playbook --vault-password-file=password_file -v -i inventory web-console-smart-card-ssh.yml

6장. IdM 도메인에서 RHEL 웹 콘솔에 대한 SSO 인증 구성

IdM(Identity Management)을 사용하여 RHEL 웹 콘솔에 대한 SSO(Single Sign-On) 인증을 구성합니다. SSO가 활성화되면 Kerberos 티켓이 있는 IdM 사용자는 인증 정보를 다시 입력하지 않고도 웹 콘솔에 액세스할 수 있습니다.

RHEL 웹 콘솔에서 IdM(Identity Management)에서 제공하는 SSO(Single Sign-On) 인증을 사용하여 다음과 같은 이점을 활용할 수 있습니다.

  • IdM 도메인 관리자는 웹 콘솔을 사용하여 로컬 시스템을 관리할 수 있습니다.
  • IdM 도메인에 Kerberos 티켓이 있는 사용자는 웹 콘솔에 액세스하기 위해 로그인 자격 증명을 제공할 필요가 없습니다.
  • IdM 도메인에 알려진 모든 호스트는 웹 콘솔의 로컬 인스턴스에서 SSH를 통해 액세스할 수 있습니다.
  • 인증서 구성은 필요하지 않습니다. 콘솔의 웹 서버는 IdM 인증 기관에서 발급하고 브라우저에서 승인하는 인증서로 자동 전환합니다.

웹 콘솔에 로그인할 수 있도록 SSO를 구성하려면 다음이 필요합니다.

  1. 웹 콘솔을 사용하여 IdM 도메인에 시스템을 추가해야 합니다.
  2. 인증에 Kerberos를 사용하려면 시스템에서 Kerberos 티켓을 가져와야 합니다.
  3. IdM 서버의 관리자가 모든 호스트에서 모든 명령을 사용할 수 있도록 허용합니다.

6.1. 웹 콘솔을 사용하여 RHEL 시스템을 IdM 도메인에 연결

RHEL 웹 콘솔에서 직접 RHEL 시스템을 IdM 도메인에 연결할 수 있습니다. 이렇게 하면 시스템을 중앙 집중식 ID 관리 환경에 통합하여 IdM 사용자가 로그인할 수 있습니다.

사전 요구 사항

  • IdM 도메인이 실행 중이고 결합하려는 클라이언트에서 연결할 수 있습니다.
  • IdM 도메인 관리자 인증 정보가 있습니다.

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. 개요 탭의 구성 필드에서 도메인 가입 을 클릭합니다.
  3. 도메인 가입 대화 상자에서 도메인 주소 필드에 IdM 서버의 호스트 이름을 입력합니다.
  4. 도메인 관리자 이름 필드에 IdM 관리 계정의 사용자 이름을 입력합니다.
  5. 도메인 관리자 암호 에서 암호를 추가합니다.
  6. join 을 클릭합니다.

검증

  1. RHEL 10 웹 콘솔에 오류가 표시되지 않으면 IdM 도메인에 연결된 시스템이 시스템 화면에 도메인 이름을 확인할 수 있습니다.
  2. 사용자가 도메인의 멤버인지 확인하려면 터미널 페이지를 클릭하고 id 명령을 입력합니다.

    $ id
    euid=548800004(example_user) gid=548800004(example_user) groups=548800004(example_user) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

6.2. Kerberos 인증을 사용하여 웹 콘솔에 로그인

Kerberos 인증을 사용하여 RHEL 웹 콘솔에 로그인할 수 있습니다. IdM 도메인의 유효한 Kerberos 티켓이 이미 있는 경우 암호를 다시 입력하지 않고도 콘솔에 액세스할 수 있습니다.

중요

SSO에서는 일반적으로 웹 콘솔에 관리 권한이 없습니다. 암호 없이 sudo 를 구성하는 경우에만 작동합니다. 웹 콘솔에서 대화식으로 sudo 암호를 입력하라는 메시지가 표시되지 않습니다.

사전 요구 사항

  • RHEL 10 웹 콘솔을 설치했습니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

  • 시스템이 SSSD 클라이언트에서 관리하는 Kerberos 티켓을 사용하지 않는 경우 kinit 유틸리티로 수동으로 티켓을 요청합니다.

프로세스

  • 웹 브라우저에 다음 URL을 입력하여 RHEL 웹 콘솔에 로그인합니다.

    https://<dns_name>:9090

RHEL 웹 콘솔에서 중앙 집중식 관리 사용자를 위한 스마트 카드 인증을 구성합니다. 이 보안 조치는 관리 및 일반 사용자에 대한 물리적 액세스 제어를 제공하는 데 도움이 됩니다.

다음을 통해 중앙 집중식으로 관리되는 사용자를 위해 RHEL 웹 콘솔에서 스마트 카드 인증을 구성할 수 있습니다.

  • IdM (Identity Management)
  • Identity Management와 교차 포리스트 신뢰에 연결된 Active Directory

7.1. 사전 요구 사항

7.2. 중앙 집중식 관리 사용자를 위한 스마트 카드 인증

스마트 카드 인증을 사용하여 중앙 집중식 관리 사용자에게 강력한 인증을 제공합니다. 이 방법은 사용자 계정을 물리적 자격 증명에 연결하여 Identity Management 도메인 내의 시스템의 보안을 강화합니다.

스마트 카드는 물리적 장치이며 카드에 저장된 인증서를 사용하여 개인 인증을 제공할 수 있습니다. 개인 인증은 사용자 암호와 동일한 방식으로 스마트 카드를 사용할 수 있음을 의미합니다.

개인 키 및 인증서 형식의 스마트 카드에 사용자 인증 정보를 저장할 수 있습니다. 특수 소프트웨어 및 하드웨어를 사용하여 액세스할 수 있습니다. 스마트 카드를 리더 또는 USB 소켓에 삽입하고 암호를 제공하는 대신 스마트 카드의 PIN 코드를 제공합니다.

IdM(Identity Management)은 다음을 사용하여 스마트 카드 인증을 지원합니다.

참고

스마트 카드 인증을 사용하려면 RHEL8 이상에서 하드웨어 요구 사항: 스마트 카드 지원을 참조하십시오.

7.3. 웹 콘솔의 스마트 카드 인증 활성화

RHEL 웹 콘솔을 위해 특별히 스마트 카드 인증을 활성화합니다. 이를 통해 중앙 집중식으로 관리되는 사용자가 스마트 카드 자격 증명 및 IdM 도메인 정책을 사용하여 안전하게 로그인할 수 있습니다.

웹 콘솔에서 스마트 카드 인증을 사용하려면 cockpit.conf 파일에서 이 인증 방법을 활성화합니다. 또한 동일한 파일에서 암호 인증을 비활성화할 수 있습니다.

사전 요구 사항

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.
  2. 터미널을 클릭합니다.
  3. /etc/cockpit/cockpit.conf 에서 ClientCertAuthenticationyes 로 설정합니다.

    [WebService]
    ClientCertAuthentication = yes
  4. 선택 사항: 다음을 사용하여 cockpit.conf 에서 암호 기반 인증을 비활성화합니다.

    [Basic]
    action = none

    이 설정은 암호 인증을 비활성화하고 항상 스마트 카드를 사용해야 합니다.

  5. 웹 콘솔을 다시 시작하여 cockpit.service 가 변경 사항을 수락하는지 확인합니다.

    # systemctl restart cockpit

7.4. 스마트 카드로 웹 콘솔에 로그인

스마트 카드 인증 정보를 사용하여 RHEL 웹 콘솔에 로그인할 수 있습니다. 이렇게 하면 중앙에서 관리되는 사용자가 안전하게 액세스할 수 있도록 구성된 스마트 카드 정책을 사용합니다.

사전 요구 사항

  • Active Directory 또는 Identity Management 도메인에 생성된 사용자 계정과 연결된 스마트 카드에 저장된 유효한 인증서입니다.
  • 스마트 카드 잠금을 해제하는 PIN입니다.
  • 스마트 카드가 리더에게 들어왔습니다.

프로세스

  1. RHEL 10 웹 콘솔에 로그인합니다.

    브라우저에서 스마트 카드에 저장된 인증서를 보호하는 PIN을 추가하도록 요청합니다.

  2. 암호 필수 대화 상자에서 PIN을 입력하고 확인을 클릭합니다.
  3. 사용자 식별 요청 대화 상자에서 스마트 카드에 저장된 인증서를 선택합니다.
  4. Remember this decision 을 선택합니다.

    다음에 시스템이 이 창을 열지 않습니다.

    참고

    이 단계는 Google Chrome 사용자에게 적용되지 않습니다.

  5. OK를 클릭합니다.

    이제 연결되어 있으며 웹 콘솔에 해당 콘텐츠가 표시됩니다.

7.5. 스마트 카드 사용자에 대해 암호 없는 sudo 인증 활성화

스마트 카드 사용자에 대해 암호 없는 sudo 인증을 활성화할 수 있습니다. 이를 통해 사용자는 암호를 입력하지 않고 관리 작업을 수행하여 운영 효율성 및 보안을 향상시킬 수 있습니다.

또는 RHEL Identity Management를 사용하는 경우 sudo, SSH 또는 기타 서비스를 통한 인증에 대해 초기 웹 콘솔 인증서를 신뢰할 수 있는 것으로 선언할 수 있습니다. 이를 위해 웹 콘솔은 사용자 세션에서 S4U2Proxy Kerberos 티켓을 자동으로 생성합니다.

다음 예에서 웹 콘솔 세션은 host.example.com 에서 실행되며 sudo 를 사용하여 자체 호스트에 액세스하는 데 신뢰할 수 있습니다. 또한 예제 단계에서는 두 번째 신뢰할 수 있는 호스트 remote.example.com 을 추가합니다.

사전 요구 사항

  • Identity Management가 설치되어 있습니다.
  • Active Directory는 Identity Management와 교차 포리스트 신뢰에 연결되어 있습니다.
  • 웹 콘솔에 로그인하도록 스마트 카드가 설정됩니다. 자세한 내용은 웹 콘솔을 사용하여 스마트 카드 인증 구성 을 참조하십시오.

프로세스

  1. 티켓에 액세스할 수 있는 호스트를 나열하는 제약 조건 위임 규칙을 설정합니다.

    • 다음 예제 위임을 생성합니다.

      • 다음 명령을 입력하여 특정 규칙이 액세스할 수 있는 대상 시스템 목록을 추가합니다.

        # ipa servicedelegationtarget-add cockpit-target
        # ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/host.example.com@EXAMPLE.COM \ --principals=host/remote.example.com@EXAMPLE.COM
      • 웹 콘솔 세션(HTTP/principal)이 해당 호스트 목록에 액세스할 수 있도록 하려면 다음 명령을 사용합니다.

        # ipa servicedelegationrule-add cockpit-delegation
        # ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/host.example.com@EXAMPLE.COM
        # ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
  2. 해당 서비스에서 GSS 인증을 활성화합니다.

    1. sudo 의 경우 /etc/sssd/sssd.conf 파일에서 pam_sss_gss 모듈을 활성화합니다.

      1. root 로서 도메인의 항목을 /etc/sssd/sssd.conf 구성 파일에 추가합니다.

        [domain/example.com]
        pam_gssapi_services = sudo, sudo-i
      2. 첫 번째 행의 /etc/pam.d/sudo 파일에서 모듈을 활성화합니다.

        auth sufficient pam_sss_gss.so
    2. SSH의 경우 /etc/ssh/sshd_config 파일의 GSSAPIAuthentication 옵션을 yes 로 업데이트합니다.

      주의

      위임된 S4U 티켓은 웹 콘솔에서 연결할 때 원격 SSH 호스트로 전달되지 않습니다. 티켓을 사용하여 원격 호스트에서 sudo 에 인증하면 작동하지 않습니다.

검증

  1. 스마트 카드를 사용하여 웹 콘솔에 로그인합니다.
  2. 제한 액세스 버튼을 클릭합니다.
  3. 스마트 카드를 사용하여 인증합니다.
  4. 또는 SSH를 사용하여 다른 호스트에 연결하십시오.

7.6. DoS 공격을 방지하기 위해 사용자 세션 및 메모리 제한

해당 systemd 구성을 변경하여 웹 콘솔 서비스의 사용자 세션 및 메모리 사용을 제한합니다. 이 방법은 cockpit-ws 웹 서버에 대한 DoS(서비스 거부) 공격의 위험을 줄이는 데 도움이 됩니다.

인증서 인증은 다른 사용자를 가장하려는 공격자로부터 cockpit-ws 웹 서버의 인스턴스를 분리하여 격리하여 보호됩니다. 그러나 이로 인해 DoS 공격이 발생할 수 있습니다. 원격 공격자는 많은 수의 인증서를 생성하고 각각 다른 인증서를 사용하여 많은 수의 HTTPS 요청을 보낼 수 있습니다.

이러한 DoS 공격을 방지하기 위해 이러한 웹 서버 인스턴스의 공동 리소스가 제한됩니다. 기본적으로 연결 및 메모리 사용량에 대한 제한은 200개 스레드로, 소프트 제한으로 75 % 또는 하드 제한으로 90 %로 설정됩니다.

예제 절차에서는 연결 수와 할당된 메모리 양을 제한하여 리소스 보호를 보여줍니다.

프로세스

  1. 터미널에서 system-cockpithttps.slice 구성 파일을 엽니다.

    # systemctl edit system-cockpithttps.slice
  2. TaskMax100 으로 제한하고 CPUQuota30% 로 제한합니다.

    [Slice]
    # change existing value
    TasksMax=100
    # add new restriction
    CPUQuota=30%
  3. 변경 사항을 적용하려면 시스템을 다시 시작하십시오.

    # systemctl daemon-reload
    # systemctl stop cockpit

8장. 웹 콘솔에서 Satellite 호스트 관리 및 모니터링

Red Hat Satellite Server에서 RHEL 웹 콘솔 통합을 활성화한 후 웹 콘솔에서 대규모로 많은 호스트를 관리할 수 있습니다.

Red Hat Satellite는 물리적 환경, 가상 환경 및 클라우드 환경에서 시스템을 배포, 구성 및 유지 관리하기 위한 시스템 관리 솔루션입니다. Satellite는 중앙 집중식 툴을 사용하여 여러 Red Hat Enterprise Linux 배포의 프로비저닝, 원격 관리 및 모니터링을 제공합니다.

기본적으로 RHEL 웹 콘솔 통합은 Red Hat Satellite에서 비활성화되어 있습니다. Red Hat Satellite 내에서 호스트의 RHEL 웹 콘솔 기능에 액세스하려면 먼저 Red Hat Satellite Server에서 RHEL 웹 콘솔 통합을 활성화해야 합니다.

Satellite 서버에서 RHEL 웹 콘솔을 활성화하려면 root 로 다음 명령을 입력합니다.

# satellite-installer --enable-foreman-plugin-remote-execution-cockpit --reset-foreman-plugin-remote-execution-cockpit-ensure

법적 공지

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동