细节参考 http://open***.net/index.php/open-source/documentation/howto.html

 

 

1. 安装软件

yum install open***

 

2. 在服务器端配置证书

 

cp -ar /usr/share/open***/easy-rsa /etc/open***/

cd /etc/open***/easy-rsa/2.0

vi vars # 编辑预定义变量

. vars # 导出证书变量

./clean-all # 清理证书目录

./build-ca # 生成授权证书

./build-key-server server # 生成服务证书

./build-key yyrd # 为用户yyrd生成证书

./build-dh # 生成 Diffie Hellman参数

 

3. 配置服务器端

 

cp /usr/share/doc/open***-2.1.4/sample-config-files/server.conf

/etc/open***/

vi /etc/open***/server.conf # 配置项中相对路径目录为 /etc/open***

 

4. 启动服务

/etc/init.d/open*** start

 

 

5. 配置客户端

cp /usr/share/doc/open***-2.1.4/sample-config-files/client.conf

/etc/open***/

cd /etc/open***/

# 把rryd的key文件和crt文件拷贝到当前目录

vi client.conf # 配置项中相对路径目录为 /etc/open***

 

6. 启动客户端

open*** client.conf

 

7. 配置自定义认证

服务器端配置 server.conf

...

#0 -- Strictly no calling of external programs.

#1 -- (Default) Only call built-in executables such as ifconfig,

# ip, route, or netsh.

#2 -- Allow calling of built-in executables and user-defined

# scripts.

#3 -- Allow passwords to be passed to scripts via environmental

# variables (potentially unsafe).

# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507747

script-security 3

auth-user-pass-verify /etc/open***/check_user.py via-env

 

客户端配置 client.conf

...

auth-user-pass

 

如果只使用用户名和口令认证,而不用客户端证书,服务器端 server.conf 需加上

 

client-cert-not-required

username-as-common-name

 

客户端配置 client.conf 去掉cert和key配置,只留 ca

 

 

8. 为open***加上ldap认证授权

 

修改 check_user.py 程序即可。

 

 

check_user.py程序内容如下:

#!/usr/bin/python

# -*- coding: utf-8 -*-

#

 

import sys

import os

 

def dump_environ(fpath):

fp = open(fpath, "a")

for k,v in os.environ.items():

fp.write("%s:%s\n" % (k, v))

fp.write("\n")

fp.close

 

dump_environ("/tmp/check_user.log")

sys.exit(0)