配置了SSL 的web服务器,如何实现启动服务的时候自动输入密码

来源:互联网 发布:html中引入js 编辑:程序博客网 时间:2024/05/01 00:01

  • 脚本实现原理
  • Nginx服务控制脚本
  • autopwfornginxexp 脚本内容

脚本实现原理

在nginx的服务启动脚本中,启动服务时使用expect自动输入密码,代码如下:

daemon /etc/rc.d/init.d/autopwfornginx.exp

在使用脚本前,要检查系统是否安装了expect

Nginx服务控制脚本

#!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: - 85 15# description: Nginx is a high-performance web and proxy server.# It has a lot of features, but it's not for everyone.# processname: nginx# pidfile: /var/run/nginx.pid# config: /usr/local/nginx/conf/nginx.confnginxd=/usr/local/nginx/sbin/nginxnginx_config=/usr/local/nginx/conf/nginx.confnginx_pid=/usr/local/nginx/logs/nginx.pidRETVAL=0prog="nginx"# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0[ -x $nginxd ] || exit 0# Start nginx daemons functions.start() {if [ -e $nginx_pid ];thenecho "nginx already running...."exit 1fiecho -n $"Starting $prog: "#daemon $nginxd -c ${nginx_config}daemon /etc/rc.d/init.d/autopwfornginx.expRETVAL=$?echo[ $RETVAL = 0 ] && touch /var/lock/subsys/nginxreturn $RETVAL}# Stop nginx daemons functions.stop() {echo -n $"Stopping $prog: "killproc $nginxdRETVAL=$?echo[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid}reload() {echo -n $"Reloading $prog: "#kill -HUP `cat ${nginx_pid}`killproc $nginxd -HUPRETVAL=$?echo}# See how we were called.case "$1" instart)start;;stop)stop;;reload)reload;;restart)stopstart;;status)status $progRETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|reload|status|help}"exit 1esacexit $RETVAL

autopwfornginx.exp 脚本内容

#!/usr/bin/expect -f   set timeout 10  log_user 0  spawn /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  expect {  "*phrase" { send "ssl密码\r"; exp_continue}  "*phrase" { send "ssl密码\r"; exp_continue}  "*phrase" { send "ssl密码\r" }}

只需将上面的ssl密码替换为你的证书密码既可以,这里假设是输入的3次密码,可根据自己的实际情况修改

转:http://www.sosnb.com/21.html

0 0
原创粉丝点击