SSH 使用 lrzsz 进行上传和下载
本文最后更新于 2023年9月8日 凌晨
SSH上传下载
通过 SSH 命令连接到服务器,当有上传和下载的需求,通常需要借助其他工具来完成,比如FTP、SFTP工具等。
这时可以借助 Zmodem 文件传输协议,常见的图形工具Xshell、SecureCRT都是支持Zmodem协议的,但Putty并不支持。
zmodem协议有以下的优点:
- 通过
rz、sz命令,简化了上传和下载的步骤。 - 上传和下载不需要再次输入用户密码.
为了使用 Zmodem 协议上传和下载文件,首先安装支持该协议的工具。 其中lrzsz就是该协议的实现工具之一。lrzsz这个工具只适合传输小文件,不适合传输大型文件。大文件传输更推荐使用Rsync传输,支持增量差异传输。
zssh 和 lrzsz
如果使用GNU/Linux终端则需要安装。这里以的pacman包管理 Linux 操作系统为例,在命令行执行以下命令:
1 | |
lrzsz 常用的两个命令来上传和下载文件:
- rz: 接受文件
- sz: 发送文件
方便记忆可以将
r记忆为receive,s记忆为send
在使用上要将 ssh 替换成 zssh 命令,即支持zmodem协议的ssh。 zssh和ssh使用上并无差异,例如原先使用ssh连接服务器的命令如下:
1 | |
使用zssh命令替换:
1 | |
本地安装lrzsz后,再去对应的服务器上安装。这里以 yum 包管理为例安装 lrzsz ,输入以下命令进行安装:
1 | |
安装后就可以模拟测试文件传输,如果使用命令行终端则使用zssh连接安装了lrzsz的服务器。如果使用Xshell等图形工具正常连接即可。
1 | |
连接成功后可以看到一行命令提示,如果要使用zssh则输入ctrl+2(@)快捷键即可切换。(若不是zssh登入服务器没有该提示)。
如果需要上传文件到服务器,使用xshell等支持Zmodem协议的图形工具,直接输入命令rz接收文件,xshell会打开一个窗口可以方便的选择文件上传。
使用终端模拟工具则在当前服务器使用ctrl+2切换到zssh窗口:
1 | |
注意:切换到
zssh后可以使用本地机器的终端命令。
如果需要下载服务器的文件到本地,使用xshell等支持Zmodem协议的图形工具则可以输入sz加上发送的文件名,xshell会打开一个窗口可以方便的保存文件位置。
使用终端模拟工具则先用sz命令发送对应的文件:
1 | |
使用lrzsz命令可以帮助我们在不使用sftp的情况下传输文件,并且可以方便快捷的上传和下载文件。
(本文完)