deepin系统配置堡垒机支持deepin-terminal

deepin v20.9系统配置deepin-terminal支持堡垒机登陆节点,需要以下三个步骤

  • 接受堡垒机公钥或指纹
  • 封装自己的putty
  • 堡垒机指定启动文件
sudo apt install  putty sshpass expect tcl

这一步主要通过putty来接受堡垒机指纹或公钥

#!/bin/bash
HOST=""
USER=""
PORT="22"
PASSWORD=""
USE_PASSWORD=false
SSHPASS_CMD=""

while [[ $# -gt 0 ]]; do
    case $1 in
        -ssh)
            shift
            ;;
        -l)
            if [[ -n "$2" ]]; then
                USER="$2"
                shift 2
            else
                echo "错误: -l 参数需要用户名"
                exit 1
            fi
            ;;
        -P)
            if [[ -n "$2" ]]; then
                PORT="$2"
                shift 2
            else
                echo "错误: -P 参数需要端口号"
                exit 1
            fi
            ;;
        -pw)
            if [[ -n "$2" ]]; then
                PASSWORD="$2"
                USE_PASSWORD=true
                shift 2
            else
                echo "错误: -pw 参数需要密码"
                exit 1
            fi
            ;;
        -*)
            echo "警告: 忽略未知选项 $1"
            shift
            ;;
        *)
            # 第一个非选项参数作为主机
            if [[ -z "$HOST" ]]; then
                HOST="$1"
            fi
            shift
            ;;
    esac
done

if [[ -z "$HOST" ]]; then
    exit 1
fi

if [[ -z "$USER" ]]; then
    exit 1
fi

SSH_CMD="ssh -p $PORT ${USER}@${HOST}"

if [[ "$USE_PASSWORD" == true ]]; then
    if ! command -v sshpass &> /dev/null; then
        exit 1
    fi
    SSH_CMD="sshpass -p '${PASSWORD}' ${SSH_CMD}"
    echo "${SSH_CMD}" >> /home/liwl/.liwl/tools/putty.log
fi

deepin-terminal -e "$SSH_CMD"

这一步主要封装自己的putty脚本,替换原生putty,在堡垒机指定该文件路径

其他linux发行版本同理操作

posted @ 2025-12-05 17:58  liwl1991  阅读(3)  评论(0)    收藏  举报