mac上透穿堡垒机器上传下载文件

安装工具

//本地开发机器 brew install lrzsz //服务器也要安装 apt-get install lrzsz

安装iterm2
https://www.iterm2.com

添加脚本
#!/usr/bin/env bash# # iterm2-zmodem # # copyright (c) 2013 by Harald Lapp # # AppleScript portion from: # http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script # licensed under cc-wiki with attribution required ## # This script can be found at: # https://github.com/aurora/iterm2-zmodem ## # This is a re-implementation of the shell scripts "iterm2-recv-zmodem.sh" and # "iterm2-send-zmodem.sh" found at https://github.com/mmastrac/iterm2-zmodem ## usage if [[ $1 != "sz" && $1 != "rz" ]]; then echo "usage: $0 sz|rz" exit fi# send Z-Modem cancel sequence function cancel { echo -e \\x18\\x18\\x18\\x18\\x18 }# send notification using growlnotify function notify { local msg=$1if command -v growlnotify >/dev/null 2>&1; then growlnotify -a /Applications/iTerm.app -n "iTerm" -m "$msg" -t "File transfer" else echo "# $msg" | tr '\n' ' ' fi }#setup [[ $LRZSZ_PATH != "" ]] && LRZSZ_PATH=":$LRZSZ_PATH" || LRZSZ_PATH=""PATH=$(command -p getconf PATH):/usr/local/bin$LRZSZ_PATH ZCMD=$( if command -v $1 >/dev/null 2>&1; then echo "$1" elif command -v l$1 >/dev/null 2>&1; then echo "l$1" fi )# main if [[ $ZCMD = "" ]]; then cancel echonotify "Unable to find Z-Modem tools" exit elif [[ $1 = "rz" ]]; then # receive a file DST=$( osascript \ -e "tell application \"iTerm\" to activate" \ -e "tell application \"iTerm\" to set thefile to choose folder with prompt \"Choose a folder to place received files in\"" \ -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")" )if [[ $DST = "" ]]; then cancel echo fi cd "$DST" notify "Z-Modem started receiving file"$ZCMD -e -y echo notify "Z-Modem finished receiving file" else # send a file SRC=https://www.it610.com/article/$( osascript / -e"tell application \"iTerm\" to activate" \ -e "tell application \"iTerm\" to set thefile to choose file with prompt \"Choose a file to send\"" \ -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")" )if [[ $SRChttps://www.it610.com/article/= "" ]]; then cancel echo finotify "Z-Modem started sending $SRC"$ZCMD -e "$SRC" echo notify "Z-Modem finished sending $SRC" fi

在下面的目录创建脚本iterm2-zmodem,将上面的脚本内容添加进去或者直接wget 下载脚本
cd /usr/local/bin wget https://raw.githubusercontent.com/aurora/iterm2-zmodem/master/iterm2-zmodem sudo chmod +x iterm2-zmodem

trigger 配置
【mac上透穿堡垒机器上传下载文件】mac上透穿堡垒机器上传下载文件
文章图片

mac上透穿堡垒机器上传下载文件
文章图片

mac上透穿堡垒机器上传下载文件
文章图片

mac上透穿堡垒机器上传下载文件
文章图片

添加如下配置
Regular expression: \*\*B0100 Action:Run Coprocess Parameters:/usr/local/bin/iterm2-zmodem szRegular expression: \*\*B00000000000000 Action:Run Coprocess Parameters:/usr/local/bin/iterm2-zmodem rz

使用 上传
登录远程服务器
执行如下命令 有弹框弹出 选择3.log文件开始上传
jumpserver@master-1:~/k8s/dev$ rz jumpserver@master-1:~/k8s/dev$ 0023be50 jumpserver@master-1:~/k8s/dev$ # Z-Modem finished sending /Users/suke/Downloads/3.log ls jumpserver@master-1:~/k8s/dev$ ls 3.logdelpod.shdesc.shexec.shlist.shlog.sh jumpserver@master-1:~/k8s/dev$

mac上透穿堡垒机器上传下载文件
文章图片

下载
登录远程服务器
执行如下命令 指定下载的文件 有弹框弹出 选下载后存放的本地目录
jumpserver@master-1:~/k8s/dev$ sz delpod.sh jumpserver@master-1:~/k8s/dev$ # Z-Modem started receiving file **0100000063f694jumpserver@master-1:~/k8s/dev$ ?**0100000063f694# Z-Modem finished receiving file \udc8a**0100000063f694: command not found jumpserver@master-1:~/k8s/dev$ jumpserver@master-1:~/k8s/dev$ # Z-Modem finished receiving file

mac上透穿堡垒机器上传下载文件
文章图片

    推荐阅读