📘
秘密鍵・CSR?というエンジニアに向けたHOWTO
概要
SSLの管理をしているのでもう1歩先の知識を得るために技術書を購入しました。
今回は以下の技術書をベースに備忘録としてまとめていきます
この記事のゴール
①GCPでサーバーを立てる
②Nginxをインストール
③秘密鍵・CSRを作成する
SSHの秘密鍵・公開鍵を作成する
bash
# 任意の公開鍵・秘密鍵をディレクトリにまとめます
mkdir /Documents/ssl && cd /Documents/ssl
# -N パスフレーズを指定 -f ファイルを指定する
ssh-keygen -N '' -f ~/Desktop/practice/ssl/startSSLkey
ls
# 秘密鍵 # 公開鍵
startSSLkey startSSLkey.pub
# オーナーにのみ読み書き権限を付与します
chmod 600 startSSLkey
# 公開鍵を表示(後ほど使用するのでメモ帳に控えます)
view startSSLkey.pub
VMインスタンスを構築します
構築したVMインスタンスにSSHで接続します
Nginxをインストール
bash
# root権限に切り替えます
sudo su -
# パッケージ一覧を更新
apt update
# nginxをインストール
apt install nginx
# バージョン表示
nginx -v
nginx version: nginx/1.10.3 (Ubuntu)
秘密鍵を作成
bash
# 秘密鍵を作成
openssl genrsa -out /etc/nginx/ssl/startssl.key 2048
root@instance-1:/etc/nginx/ssl# ls
startssl.key
# 管理者にのみ読み書きを許可する
chmod 600 /etc/nginx/ssl/startssl.key
CSR(証明書署名リクエスト)を作成
bash
openssl req -new -key startssl.key -out startssl.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
# 国名
Country Name (2 letter code) [AU]:JP
# 都道府県名
State or Province Name (full name) [Some-State]:Tokyo
# 市区町村名
Locality Name (eg, city) []:Shibuya
# 組織名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:system
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:hogedns.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
root@instance-1:/etc/nginx/ssl# ls
最後に
読んでいただきありがとうございます。
今回の記事はいかがでしたか?
・こういう記事が読みたい
・こういうところが良かった
・こうした方が良いのではないか
などなど、率直なご意見を募集しております。
Discussion