Proxmox 服务器的自签名证书的SSL设定

Proxmox 服务器的自签名证书的SSL设定 git

在使用Proxmox服务器时,会使用SSL访问它的WEB管理平台。 shell

因为默认的安装中SSL证书没有签署,因此浏览器总是会弹出证书错误,是否继续之类的错误信息,非常碍眼。 apache

为了在必定程度上避免这种现象,本文使用自签名的证书来配置Promox的HTTPS。 浏览器

即便点了“仍然继续”,https前面仍是会出现下面的小红叉叉,难看的很: 安全

概念 服务器

关于自签名的证书,啰嗦几句。 网络

常规的证书(那些NB的CA机构颁发的证书),容许使用该证书的服务器向用户说: 测试

   你应该信任我,由于你信任的机构(NB的CA机构)是这么说的 ui

而自签名的证书就比较无耻了,它容许使用该证书的服务器对用户说: spa

   你应该信任我,由于这是我说的

咱们访问各类网银是,必须都是HTTPS(若是你不是,那你悲剧了),而他们的证书都是常规的证书。

而我天朝的12306,好像是使用自签名的证书(个中缘由,you know…)。

前提

首先已经安装好了Proxmox,并且网络,IP都已经配置好了。

假设,Proxmox服务器的IP是: 10.194.153.6

为了简单起见,Proxmox服务器没有绑定域名,老是以IP访问。

1 生成证书

本例中的证书是自我签署的证书。在默认的状态下,自我签署的证书在浏览器里会弹出警告,

而不是讨人厌的错误提示。

若是吧自我签署的证书事前安装好的话,就能够正常的使用了。

所以,若是只是(公司,实验室,局域网)内部使用的话,使用自我签署的证书是没有问题的。

若是须要开放给外部访问,最好仍是到CA认证机构去购买和申请正规的证书吧(不过听说很贵)。

闲话少叙,开始干活


1.1 生成私钥

~# cd /etc/ssl/certs 
/etc/ssl/certs# openssl genrsa -des3 -out server.key 1024 
Generating RSA private key, 1024 bit long modulus
.....................................................................++++++
.......++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:                 # 输入pass phrase
Verifying - Enter pass phrase for server.key:	# 再次输入

1.2 从私钥中删除pass phrase

/etc/ssl/certs# openssl rsa -in server.key -out server.key 
Enter pass phrase for server.key:# 输入刚才输入的pass phrase
writing RSA key

1.3 生成证书

/etc/ssl/certs# openssl req -new -days 3650 -key server.key -out server.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]:CN	 #国家代码
State or Province Name (full name) [Some-State]:LN   #区域代码,也就是咱们所谓的省
Locality Name (eg, city) []:DL	 #城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]: TESTWork   #公司名称,随便填
Organizational Unit Name (eg, section) []:VM Manager   #部门名称,随便写
Common Name (eg, YOUR name) []:10.193.153.6   
       #服务器全名(FQDN),本例中由于都使用的是IP,因此直接把IP写上了。
       #这是证书生成过程当中最重要的一步,这里填写的Common Name必需要保证与apache中配置的Server name一致,
       #不然生成后的证书仍是很差用。
       #若是你使用的Proxmox已经在DNS服务器里面绑定了域名,好比:proxmox.abc.com
       #并且在apache配置中,虚拟主机的Server Name也是:proxmox.abc.com
       #那末,这一步,就必须填写:proxmox.abc.com,这样生成的证书才好使。

Email Address []:admin@10.194.153.6	 #管理员邮件地址,随便填。
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:  #这里不输入也能够,直接回车
An optional company name []: #这里不输入也能够,直接回车

1.4 建立自签署证书

/etc/ssl/certs# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
Signature ok
subject=/C=CN/ST=LN/L=DL/O=PSDCD/OU=10.194.153.6/CN=10.194.153.6
Getting Private key

1.5 修改证书和密钥的权限

/etc/ssl/certs# chmod 400 server.*

2 SSL设置

Promox的apache配置在下面的位置:

 /etc/apache2/sites-enabled/pve.conf

 /etc/apache2/sites-enabled/pve-redirect.conf

修改这两个个文件:


2.1 确认Server Name是否和刚次生成证书是输入的Common Name一致:

      不一致的状况下,有两条道:从新生成证书并签署,或者修改此处

ServerName 10.194.153.6

2.2 配置刚才生成的证书和公钥到apache中

  

<VirtualHost *:8006>
    SSLEngine on
    SSLProtocol all -SSLv2
    # 为了保险起见,先注释掉默认的SSL配置
    #SSLCertificateFile /etc/pve/local/pve-ssl.pem	#这是默认的配置
    #SSLCertificateKeyFile /etc/pve/local/pve-ssl.key  #这是默认的配置

    # 加入新的配置
    SSLCertificateFile /etc/ssl/certs/server.crt #这是新的配置
    SSLCertificateKeyFile /etc/ssl/certs/server.key #这是新的配置
    … 此处省略N个字…

2.3 重启apache

/etc/apache2/sites-enabled# apache2ctl restart

3 测试(IE这货就不测了,Proxmox不支持IE,赞)

【Firefox】

 打开promox的WEB管理平台,给出了警告。点击“添加例外”。

点击确认“安全例外”:

终于看到了久违的登录画面,注意,地址栏里面的https前再也不会显示大红叉,而是正常的一个锁的样子了,说明自签名证书成功了。

【Chrome的结果】

相关文章
相关标签/搜索