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发行版本同理操作
浙公网安备 33010602011771号