前面學到很多關於產生和匯入憑證的做法,通常都是很常見也必須要會做的技術,後來同事分享了一些可以不用花錢向憑證單位、自己就可以產生憑證的做法,我覺得還滿實用且有趣的,但是過程其實沒有很容易懂,所以一定要記錄一下流程,知道後以後可以省下很多更新憑證的麻煩。
此套件名稱為certbot,大概就是certificate robot的意思吧!也是一個open source的軟體,方便用戶向letsencrypt申請免費且三個月的憑證。會做這個東西出來大概就是避免被憑證中心收費吧!因為企業如果想要取得至少一年的憑證的話,通常都要跟憑證中心(例如TWCA)花錢買的,如果想不想花那個錢、只是自己做憑證測試等需求者,就能透過這種工具,每三個月就去產出憑證,算是一種省錢又實際的做法。
ㄧ.下載並安裝cerbot和certbot-dns-nsone
$ sudo snap install certbot --classic \\snap安裝certbot
二.跟letsencrypt申請憑證,並跟DNS作驗證
如果是第一次做就要在過程中做txt record驗證。
$ certbot certonly --email it@abc.com --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d *.abc.com
\\過程要先跟NS1 DNS Server做txt record的認證
![]() |
新增txt record,把剛剛的驗證碼貼進去,再回到伺服器上按下繼續 |
![]() |
按繼續後並得到txt recore驗證成功後,就會進一步核發憑證與私鑰,可以看到兩個檔案與其路徑出現。 |
三.自動更新憑證
要能夠讓自己電腦自動更新憑證,就需要靠NS1提供的api key,把這個金鑰放在自己電腦指定的路徑內,它就能夠透過API進行自動更新。
1.api key的產生方式
![]() |
Settings > Account Setting |
![]() |
Users & Teams > API KEYS > Add Key |
![]() |
勾選目前的TEAM,在MANAGEIP ALLOWLIST FOR THIS KEY中打下能連入的IP、網段,然後按「Save API Key」 |
![]() |
設定好後,一開始API Key是可以顯示的,點一下中間的ⓘ,就可以看到api key了,然後過一段時間,這個ⓘ就會消失。 |
2.配置好api key
# vim /mnt/.secret/certbot/nsone.ini
dns_nsone_api_key = <API key> \\在裡面放剛剛拿到的api key
$ chmod -R 600 /mnt/.secret/certbot
四.使用 certbot 更新憑證
$ certbot renew --dns-nsone --dns-nsone-credentials /mnt/.secret/certbot/nsone.ini
\\用指令就可以向NS1打API、並要求更新憑證了
![]() |
出現success就表示憑證成功了 |
![]() |
如果我馬上又更新一次的話,它當然也不是想刷新就給我刷新,要至少等個一兩月後再試試 |
學到了這們技巧,就可以知道為什麼現在會有那麼多詐騙網站都用https,這算是開源技術被濫用的實例。
沒有留言:
張貼留言