Open islishude opened 3 years ago
如果远程服务器可以自由与本地通信,那么最简单的方式就是 scp 命令
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
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 本地就会弹出窗口要求选择要上传的文件,选择后即上传
rz
在远程服务器运行 sz filename1 filename2 … filenameN 本地就会弹出窗口要求保存文件,选择后即下载。
sz filename1 filename2 … filenameN
sudo chmod +x /usr/lcoal/bin/iterm2-zmodem
local拼错了哈,应该是
sudo chmod +x /usr/local/bin/iterm2-zmodem
嗯,对,之前忘了改了
如果远程服务器可以自由与本地通信,那么最简单的方式就是
scp
命令但是存在跳板机这一个中间层,而且远程服务器不能直接连接,就不能直接使用这种方式。
因为可以通过 SSH 登录远程服务器,那么我们可以直接 SSH 环境下直接上传下载文件,这种方式类似于在 shell 中复制粘贴一样。
首先确认远程服务器和本机机器都安装了
lszrz
然后安装脚本到 $PATH 或者其它目录,并使其可执行。
然后使用 iTerm2 依次打开 Preference -> Profile -> Advance -> Trigger Edit 配置
按照下面内容进行填写即可。
最后进行测试:
在远程服务器运行
rz
本地就会弹出窗口要求选择要上传的文件,选择后即上传在远程服务器运行
sz filename1 filename2 … filenameN
本地就会弹出窗口要求保存文件,选择后即下载。