mac tssh --zmodem支持terminal拖拽文件

目的

在mac上terminal支持rz/sz上传下载文件

安装依赖

brew install expect trzsz-ssh

交互式脚本登录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/expect

# jumpserver loign 信息
set timeout 15
set user "userxxx"
set host "server.xxx.internal"
set password "passxxx"

# 启动 SSH 连接
#spawn ssh $user@$host -p 2222
spawn tssh --zmodem $user@$host -p 2222

# 处理登录提示
expect {
"yes/no" {
send "yes\r"
expect "password:"
send "$password\r"
}
"password:" { send "$password\r" }
timeout { puts "连接超时"; exit 1 }
}

# 登录成功后执行命令
# expect "$user@" { send "ls -la\r" }

# 保持交互模式或退出
interact

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

mac@GaGa ~ % spxb7
spawn tssh --zmodem xxx -p 2222
Welcome to JumpServer SSH Server
xxxxx's password:
xxxxx, JumpServer

1) Enter 部分IP,主机名,备注 to 搜索登录(如果唯一).
2) Enter / + IP,主机名,备注 to 搜索,如:/192.168.
3) Enter p to 显示您有权限的资产.
4) Enter g to 显示您有权限的节点.
5) Enter h to 显示您有权限的主机.
6) Enter d to 显示您有权限的数据库.
7) Enter k to 显示您有权限的Kubernetes.
8) Enter r to 刷新最新的机器和节点信息.
9) Enter s to 中文-English-日本語语言切换.
10) Enter ? to 显示帮助.
11) Enter q to 退出.
Opt> exit