certbot 명령어(인증서 관리 및 삭제)

Alma Linux에서 이 사이트에 Certbot 설치 및 갱신 설치를 해 진행하는 중 인증서 삭제 후 재설치를 할 이유가 생겨 삭제와 함께 나머지 Certbot 명령어 사용법에 대해 체크하게 되었습니다.

certbot 명령어는 다음 페이지에서 확인했습니다.

✅ certbot 명령어: 인증서 관리

사용 중인 인증서 목록을 보려면 다음 명령어를 입력합니다.

certbot certificates

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: mydomain.com
    Serial Number: 4b5c738962b78627df66143f3fc9f86c1d7
    Key Type: ECDSA
    Domains: mydomain.com
    Expiry Date: 2025-06-04 09:26:03+00:00 (VALID: 65 days)
    Certificate Path: /etc/letsencrypt/live/mydomain.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/mydomain.com/privkey.pem
  Certificate Name: tozisin.com
    Serial Number: 46dc157eaec46266d5a0b1b56a329efd4e7
    Key Type: ECDSA
    Domains: mydomain2.com
    Expiry Date: 2025-05-01 08:39:00+00:00 (VALID: 31 days)
    Certificate Path: /etc/letsencrypt/live/mydomain2.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/mydomain2.com/privkey.pem
  Certificate Name: uknew.co
    Serial Number: 314714a3a2efc3f72a5c2a592b74f0ded80
    Key Type: ECDSA
    Domains: uknew.co
    Expiry Date: 2025-05-04 08:43:10+00:00 (VALID: 34 days)
    Certificate Path: /etc/letsencrypt/live/uknew.co/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/uknew.co/privkey.pem

기존 인증서 재생성 및 업데이트

certonly 명령어는 인증서를 처음 설치할 때 사용하지만 옵션에 따라 인증서 재생성과 업데이트를 진행할 때도 사용합니다.

certonly이미 동일한 도메인 이름을 포함하는 기존 인증서가 있는 경우에도 또는 run하위 명령을 사용하여 단일 새 인증서 생성을 요청할 수 있습니다.

run이미 존재하는 인증서 이름을 지정 하거나 인증서가 요청되는 경우 certonlyCertbot은 기존 인증서를 업데이트합니다. 그렇지 않으면 새 인증서가 생성되고 지정된 이름이 할당됩니다.

--force-renewal--duplicate, 및 옵션 --expand은 기존 인증서와 동일한 이름으로 인증서를 다시 만들 때 Certbot의 동작을 제어합니다. 요청된 동작을 지정하지 않으면 Certbot이 의도한 바를 물을 수 있습니다.

--force-renewalCertbot에 기존 인증서와 동일한 도메인을 사용하여 새 인증서를 요청하라고 지시합니다. 각 도메인은 .을 통해 명시적으로 지정해야 합니다 -d. 성공하면 이 인증서는 이전 인증서와 함께 저장되고 심볼릭 링크(” live” 참조)가 새 인증서를 가리키도록 업데이트됩니다. 이는 특정 개별 인증서를 갱신하는 유효한 방법입니다.

--duplicateCertbot에게 기존 인증서와 동일한 도메인을 가진 별도의 관련 없는 인증서를 만들라고 지시합니다. 이 인증서는 이전 인증서와 완전히 별도로 저장됩니다. 대부분의 사용자는 일반적인 상황에서 이 명령을 실행할 필요가 없습니다.

--expandCertbot에 기존 인증서를 모든 이전 도메인과 하나 이상의 추가 새 도메인을 포함하는 새 인증서로 업데이트하라고 지시합니다. 이 --expand옵션을 사용하여 -d모든 기존 도메인과 하나 이상의 새 도메인을 지정합니다.

certbot 명령어 사용자 가이드 참조 내용
웹 보안(Web Security)

✅ 인증서 취소 및 삭제

확인 결과 인증서 취소는 인증서 취소 후 다음 인증서 자동 갱신 때 갱신이 진행되기 떄문에 취소 진행 시 삭제를 같이 진행할지를 묻고 인증서 삭제 명령어는 인증서를 바로 삭제합니다.

🔲 인증서 취소

certbot revoke --cert-name example.com
# 인증서 취소 #

플래그를 사용하여 인증서를 해지하는 이유를 지정할 수도 있습니다 reason. 이유에는 unspecified기본값인 keycompromiseaffiliationchangedsuperseded, 및 cessationofoperation: 가 포함됩니다.

certbot revoke --cert-name example.com --reason affiliationchanged

🔲 인증서 삭제

인증서 삭제는 delete 명령어를 사용합니다.

certbot delete --cert-name example.com
# or to choose from a list:
certbot delete

바로 삭제를 진행할 경우 서버가 정상적으로 작동하지 않을 수 있다는 메시지를 확인했고 기존에 설치된 내역 확인 후 안전하게 삭제하는 방법을 확인했습니다. 삭제 진행을 할 때 해당 내역들을 함께 삭제 진행해주면 되겠습니다.

#인증서에 대한 모든 참조 찾기 # 
 bash -c 'grep -R live/mydomain.com  /etc/{nginx,httpd,apache2}'
/etc/httpd/conf.d/ssl.conf:    SSLCertificateFile /etc/letsencrypt/live/mydomain.com/cert.pem
/etc/httpd/conf.d/ssl.conf:    SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
/etc/httpd/conf.d/ssl.conf:    SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/chain.pem
/etc/httpd/conf.d/ssl.conf:    SSLCACertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
grep: /etc/httpd/run/cgisock.360194: No such device or address
grep: /etc/apache2: No such file or directory

직접 삭제 진행을 해 보겠습니다.

~]# certbot delete --cert-name mydomain.com

The following certificate(s) are selected for deletion:

  * mydomain.com

WARNING: Before continuing, ensure that the listed certificates are not be              ing
used by any installed server software (e.g. Apache, nginx, mail servers).
Deleting a certificate that is still being used will cause the server soft              ware
to stop working. See https://certbot.org/deleting-certs for information on
deleting certificates safely.

Are you sure you want to delete the above certificate(s)? Y

Deleted all files relating to certificate mydomain.com.

~]# httpd -t
AH00526: Syntax error on line 231 of /etc/httpd/conf.d/ssl.conf:
SSLCertificateFile: file '/etc/letsencrypt/live/mydomain.com/cert.pem' does not exist or is empty

위와 같은 에러가 나니 apache 재 시작 전에 해당 경로 설정들을 삭제 해 주도록 합니다. certbot 명령어의 기본 내용과 삭제 위주로 알아 봤습니다.

SSL TLS 보안인증서

Similar Posts

  • 리눅스 tee 명령어

    리눅스 tee 명령어는 배관시설에 비유해서 이름이 붙여진 명령어입니다. 파이프 모양과 똑같은 “T”에서 본따 tee 명령어이며 표준 출력으로 하나 이상의 다른 파일을 동시에 출력합니다. tee 명령어의 목적은 작업 진행 중 파이프라인(I)의 중간 내용을 알고 싶을 때 유용하게 사용할 수 있습니다. ✅ 리눅스 tee 명령어 사용법 ✅ tee 명령어 옵션 옵션 long 설명 -a -append…

  • yum-config-manager 명령어 | YUM 저장소 설정

    yum 명령어는 기본 사용 시 기본 저장소(보통 안정화 버전)에서 패키지를 설치합니다. 저장소 파일을 추가하면 안정화(stable) 또는 최신(mainline) 버전 중 활성화된 저장소에서 패키지를 설치할 수 있습니다. 안정화와 최신 버전 저장소가 모두 활성화되어 있을 경우, yum은 버전이 더 높은 패키지(보통 최신 버전)를 설치합니다. 원하는 버전을 설치하려면, remi 저장소 설정 또는 yum-config-manager를 사용하여 특정 저장소를 활성화해서…

  • 리눅스 리다이렉션(Redirection)

    웹 상에서 리다이렉션(Redirection)은 웹 브라우저가 특정 URL을 요청했을 때, 미리 지정된 다른 URL로 재요청하게 하는 것을 말합니다. 재 연결의 사전적인 의미를 가진 Redirection은 리눅스에서 입력과 출력을 다루는 방식으로, 데이터를 파일로 보내거나 파일에서 읽어오는 작업을 수행할 수 있게 해줍니다. 리눅스 리다이렉션은은 키보드로 입력, 화면으로 출력을 하는 것이 아니라 파일로 출력하는 것을 의미합니다. 리다이렉션에는 표준…

  • [Shell 특수문자] 리눅스 와일드카드(메타문자)

    리눅스 와일드카드는 Shell 특수문자로 메타 문자로 불리기도 합니다. Shell 특수 기호 중 와일드카드(글로빙으로 부르기도 함)는 문자 패턴에 따라 파일명을 선택할 수 있습니다. 특수 문자에는 인용(따옴표) 기호, 리눅스 다중 명령어, 리눅스 히스토리 기호, 리눅스 디렉토리 기호, 리눅스 괄호 기호 및 입출력 리다이렉션 등 다양하게 있습니다. ✅ 리눅스 와일드카드 매칭 문자 리눅스 와일드카드 매칭 문자…

  • 리눅스 who, w 명령어 & user 명령어

    리눅스 who 명령어는 현재 서버에 로그인한 사용자 리스트를 보여주는 명령어입니다. w 명령어는 현재 시스템에 로그인한 사용자와 사용자의 작업 내용을 보여주는 명령어로 각각의 차이가 있습니다. ✅ 리눅스 who 명령어 현재 접속 사용자(USER) 터미널 유형(TTY) 접속 시간 및 IP rocky pts/0, pts/1 .. 2070-02-09 10:15 (xxx.xx.xx8.254) ✅ 리눅스 w 명령어 w 명령어 확인 정보 설명…

  • 리눅스 which whereis locate: 3가지 위치(경로) 확인 명령어

    리눅스 which와 whereis 명령어 명령어의 위치를 알 수 있는 명령어는 find 명령어를 이용해서 파일을 찾을 수 있지만 find 명령어는 시간이 소요되는 단점도 존재합니다. locate 명령어는 파일명을 빠르게 검색할 때 사용할 수 있습니다. 리눅스 기본 명령어 3가지에 대해 알아 보겠습니다. ✅ 리눅스 which 명령어 ‘어느’, ‘어떤’, ‘어느 쪽’의 영어 뜻을 가진 which 명령어는 명령어의…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 10   +   1   =