在跳板机环境下使用 iTerm2 自由上传下载文件
islishude opened this issue · comments
如果远程服务器可以自由与本地通信,那么最简单的方式就是 scp
命令
# upload
scp local_file remote_username@remote_ip:remote_folder
# download
scp -r remote_username@remote_ip:remote_folder local_folder
但是存在跳板机这一个中间层,而且远程服务器不能直接连接,就不能直接使用这种方式。
因为可以通过 SSH 登录远程服务器,那么我们可以直接 SSH 环境下直接上传下载文件,这种方式类似于在 shell 中复制粘贴一样。
首先确认远程服务器和本机机器都安装了 lszrz
# Remote server
apt install -y lrzsz
# local machine
brew install lrzsz
然后安装脚本到 $PATH 或者其它目录,并使其可执行。
sudo wget -O /usr/local/bin/iterm2-zmodem https://gist.githubusercontent.com/islishude/716c59c2529cbd87babbb2fdaf49f3ae/raw/e642bbed611fa607335e9a9edf5a1609be3567dd/iterm2-zmodem
sudo chmod +x /usr/local/bin/iterm2-zmodem
然后使用 iTerm2 依次打开 Preference -> Profile -> Advance -> Trigger Edit 配置
按照下面内容进行填写即可。
Regular expression: \*\*B0100
Action: Run Coprocess
Parameters: /usr/local/bin/iterm2-zmodem sz
instant: true
Regular expression: \*\*B00000000000000
Action: Run Coprocess
Parameters: /usr/local/bin/iterm2-zmodem rz
instant: true
最后进行测试:
在远程服务器运行 rz
本地就会弹出窗口要求选择要上传的文件,选择后即上传
在远程服务器运行 sz filename1 filename2 … filenameN
本地就会弹出窗口要求保存文件,选择后即下载。
sudo chmod +x /usr/lcoal/bin/iterm2-zmodem
local拼错了哈,应该是
sudo chmod +x /usr/local/bin/iterm2-zmodem
嗯,对,之前忘了改了