开源地址:https://github.com/trzsz/trzsz-ssh
trzsz-ssh ( tssh ) 支持类似 expect
的自动交互功能,可以在登录服务器之后,自动匹配服务器的输出,然后自动输入。
Host auto
#!! ExpectCount 2 # 配置自动交互的次数,默认是 0 即无自动交互
#!! ExpectTimeout 30 # 配置自动交互的超时时间(单位:秒),默认是 30 秒
#!! ExpectPattern1 *password # 配置第一个自动交互的匹配表达式
# 配置第一个自动输入(密文),填 tssh --enc-secret 编码后的字符串,会自动发送 \r 回车
#!! ExpectSendPass1 d7983b4a8ac204bd073ed04741913befd4fbf813ad4...
#!! ExpectPattern2 $ # 配置第二个自动交互的匹配表达式
#!! ExpectSendText2 echo tssh expect\r # 配置第二个自动输入(明文),需要指定 \r 才会发送回车
# 以上 ExpectSendPass? 和 ExpectSendText? 只要二选一即可,都配置则 ExpectSendPass? 的优先级更高
在 v0.1.16
发布之前,可以这样安装和使用:
go install github.com/trzsz/trzsz-ssh/cmd/tssh@main
~/go/bin/tssh