平常都是通过云直接连接服务器上去更换的ssl证书文件,记录一次有sudo权限的子用户操作更换证书的记录
前置条件:ssl证书压缩包+公钥文件
压缩包内包含x_RSA.csr、x_RSA.key,公钥为x.crt
.csr文件:证书请求文件,里面包含公钥和其他信息,通过签名后就可以生成证书;用于向证书颁发机构申请crt证书时使用,服务器配置时不会用到;
.crt文件:CA认证后的证书文件,包含公钥,签名和其他需要认证的信息,比如主机名称(IP)等。
.key文件:密钥文件,一般是SSL中的私钥,通常是rsa算法。
服务器信息
IP地址,端口号,账号,密钥文件。
使用工具:PHPSTORM-》工具-》SSH、winscp
ssh进行服务器操作
winscp文件操作
openssl
操作记录
如果key文件的头信息 是RSA密钥,需要将其转为密钥即pkcs#1转化为pkcs#8
openssl pkcs8 -topk8 -inform PEM -in 你的密钥文件.key -outform PEM -out 文件名.pem -nocrypt
//确认你的密钥公钥是否匹配
openssl rsa -pubout -in 你的密钥文件.key //解析密钥文件中的公钥
openssl x509 -pubkey -noout -in 你的公钥文件.crt //解析公钥文件中的公钥
//解析出来的公钥相同即为匹配成功
.crt文件可以直接修改后缀名为.pem这样就得到了两个.pem文件,等待上传服务器了。
服务器操作
由于我的账号不是root,是有sudo权限的子用户,某些操作之前都需要携带sudo,将就着看吧。
注:子用户前边是$ 类似这样
//返回主目录->进入nginx配置文件目录->查看你的nginx的ssl配置路径->进入存放证书的路径
cd 你的证书路径
//子用户没有访问权限?
ls -al //查看权限
sudo chmod -R 777 证书路径 //给证书路径权限修改一下等会儿改回来
//操作过程中发现证书路径的权限是l打头的一个软连接,cd到软连接设置的路径上传证书文件
/**
* WINSCP 上传文件
*/
sudo ln -nsf winscp上传的文件名.pem 软连接原名(nginx配置的文件名).pem //更新软连接
ls -lrt //瞅一眼软连接更新成功了么
//cd 到nginx安装目录
ps -ax | grep nginx //查看当前运行的进程
sudo nginx -s reload //重启服务器
//离开前把目录权限恢复一下
sudo chmod -R 700 证书路径
确认证书是否更新
访问网站
点击锁头-》安全连接-》更多信息-》
点击查看证书就能看到证书信息了。