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

  • [Linux] usermod 명령어

    usermod 명령어는 user modification(사용자 수정)의 약자로 이미 존재하는 사용자 계정의 속성을 변경할 때 사용됩니다. usermod는 사용자의 로그인 이름, UID (사용자 ID), 홈 디렉토리, 로그인 셸, 그룹 등의 속성을 변경할 수 있는 명령어입니다. 목차✅ certbot 명령어: 인증서 관리✅ 기존 인증서 재생성 및 업데이트✅ 인증서 취소 및 삭제🔲 인증서 취소🔲 인증서 삭제✅ usermod 명령어 기본 옵션…

  • 리눅스 Rsync 명령어

    Rsync (Remote Sync) 는 네트워크를 통해 파일과 디렉터리를 효율적으로 동기화하는 백업 방식입니다. 전체 데이터를 매번 복사하는 대신 변경된 부분만 증분 방식으로 전송하여 빠르고 안정적인 동기화를 지원합니다. 또한 다양한 옵션을 통해 압축, 암호화, 권한 유지, 삭제 동기화 등 세밀한 제어가 가능하며, 백업과 서버 간 데이터 전송에 널리 사용됩니다. 특히 네트워크 대역폭을 절약하고, 재 전송…

  • 리눅스 kill 명령어[kill -9 PID]

    리눅스 kill 명령어는 사용 중인 프로세스를 종료하는 명령어입니다. 터미널에서 프로세스에 시그널(Signal)을 보내서 프로세스를 종료합니다. 프로그램이 정지하거나 응답하지 않는 경우 일반적인 종료가 되지 않는 경우 등에 따라 명령어를 실행하게 됩니다. kill process는 사용 시 중요한 시스템 프로세스를 종료 시키면 시스템이 불안정해질 수 있기 때문에 주의해서 사용해야 합니다. 목차✅ certbot 명령어: 인증서 관리✅ 기존 인증서…

  • 리눅스 host 명령어 | DNS 조회 명령어

    host 명령어는 DNS(Domain Name System) 조회를 할 때 사용하는 명령어입니다. 호스트 이름에 해당하는 IP 주소를 찾거나, 반대로 IP 주소를 호스트 이름으로 변환하는 데 사용됩니다. 네트워크 연결 문제를 해결하거나 호스트 이름과 IP 주소 간의 매핑을 확인하는 데 유용합니다. 목차✅ certbot 명령어: 인증서 관리✅ 기존 인증서 재생성 및 업데이트✅ 인증서 취소 및 삭제🔲 인증서 취소🔲…

  • 리눅스 tee 명령어

    리눅스 tee 명령어는 배관시설에 비유해서 이름이 붙여진 명령어입니다. 파이프 모양과 똑같은 “T”에서 본따 tee 명령어이며 표준 출력으로 하나 이상의 다른 파일을 동시에 출력합니다. tee 명령어의 목적은 작업 진행 중 파이프라인(I)의 중간 내용을 알고 싶을 때 유용하게 사용할 수 있습니다. 목차✅ certbot 명령어: 인증서 관리✅ 기존 인증서 재생성 및 업데이트✅ 인증서 취소 및 삭제🔲…

  • 리눅스 명령행 인자(Command-Line Argument)와 명령어 옵션

    ‘리눅스 명령행 인자(Command-Line Argument)‘는 ‘리눅스 명령어 인수‘, ‘명령 인자‘ 등으로도 불리며, 리눅스 커맨드 라인에서 명령어를 실행할 때 프로그램에 전달하는 매개변수를 뜻 합니다. 리눅스에서 “매개변수(Parameters)”는 일반적으로 프로그램이나 함수에 전달되는 값을 가리킵니다. 이 값은 해당 프로그램이나 함수가 실행될 때 필요한 입력 값으로 사용됩니다. 컴퓨터 프로그래밍에서 “매개변수(Parameters)”는 함수에 전달되는 값을 받아들이는 변수를 의미합니다. 이는 함수 정의에…

답글 남기기

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

Prove your humanity: 6   +   5   =