加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – OpenConnect自动连接/重新连接脚本?

发布时间:2020-12-15 21:00:49 所属栏目:安全 来源:网络整理
导读:我有这个脚本: #!bin/bashNAME="user"PIDFILE="openconnect.pid"CERT="user.crt"KEY="user.key"PASS="pass"HOST="https://example.com"SCRIPT="/etc/vpnc/vpnc-script"openconnect -b --script $SCRIPT --pid-file=$PIDFILE -c $CERT -k $KEY --key-passwor
我有这个脚本:

#!bin/bash
NAME="user"
PIDFILE="openconnect.pid"
CERT="user.crt"
KEY="user.key"
PASS="pass"
HOST="https://example.com"
SCRIPT="/etc/vpnc/vpnc-script"

openconnect -b --script $SCRIPT --pid-file=$PIDFILE -c $CERT -k $KEY --key-password=$PASS --user=$NAME $HOST

它可以工作,但有时如果出现问题(重启服务器或其他一些问题),它会断开与VPN的连接.我需要再次重新运行脚本.有什么方法可以修改它或者以cron作业或其他方式添加它?

注意.当我运行此脚本时,我需要输入证书密码.所以考虑到安全性,我想知道在哪里应该保留用于自动连接目的的密码?

解决方法

您可以通过检查其PID来检测openconnect是否仍在运行:

pidof openconnect

如果openconnect仍然运行,则返回退出值0,否则为非零.

你会有一个看起来像[未经测试但应该给你一个提示]的脚本:

#!/bin/bash

OPENCONNECT_PID=""
function checkOpenconnect(){
    ps -p "${OPENCONNECT_PID}"
    # print the status so we can check in the main loop
    echo $?
}

function startOpenConnect(){
    # start here open connect with your params and grab its pid
    openconnect [your params] & OPENCONNECT_PID=$!
}

startOpenConnect

while true
do
    # sleep a bit of time
    sleep 30
    OPENCONNECT_STATUS=$(checkOpenconnect)
    [ $OPENCONNECT_STATUS -ne 0 ] && startOpenConnect
done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读