SecureCRT中有以下文件传输协议:
① ASCII: 最快的传输协议, 但只能传送文本文件;
② Xmodem: 古老的传输协议, 速度较慢, 但使用了CRC错误侦测方法, 传输的准确率可高达99.6%;
③ Ymodem: 是Xmodem的改良版, 使用了1024位区段传送, 速度比Xmodem快;
④ Zmodem: Zmodem采用了串流式(streaming)传输方式, 传输速度较快, 而且还具有自动改变区段大小和断点续传、快速错误侦测等功能.
ASP站长网Zmodem是目前最流行的文件传输协议, 下述的rz/sz命令就是通过Zmodem模式传输文件.
1 通过rz/sz命令上传/下载
1.1 安装lrzsz软件
[root@host-10-0-20-50 ~]# sudo yum install -y lrzsz
若服务器不能连接外网, 可参照 CentOS 6.5中安装使用dstat资源统计工具 中的设置.
1.2 rz - 上传文件
rz中的r是received(接收)的缩写, 意为服务器接收文件(received by client), 即上传本地文件到服务器.
键入rz命令, 然后回车, 将弹出文件选择对话框, 选择需要上传的文件, 可选择多个文件.
点击确定后即可上传文件, 文件接收路径为当前执行rz命令的路径.
过程如下:
[root@host-10-0-20-50 ~]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
SecureCRT上传文件
注意: 上传文件时, 如果Linux服务器接收文件的目录下有同名的文件, 将跳过上传过程. 信息如下:
[root@host-10-0-20-50 elk]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring elasticsearch-5.6.10.tar.gz...
elasticsearch-5.6.10.tar.gz was skipped
SecureCRT跳过同名文件
扩展: 使用rz会有两个问题: 上传中断、上传文件变化(md5不同). —— 尚未验证, 请存疑.
解决办法: 上传时用rz -be, 并且不要勾选弹出的对话框中"Upload files as ASCII"前选框.
-b: 用binary的方式上传下载, 不解释字符为ASCII.
-e: 强制escape所有控制字符, 比如Ctrl+x, DEL等.
1.3 sz - 下载文件
sz中的s是send(发送)的缩写, 意为服务器发送文件到客户端(send to client), 即下载服务器文件到本地.
键入sz download_files命令, 然后回车, 即可将服务器中的文件下载到SecureCRT配置的目录下:
过程如下:
[root@host-10-0-20-50 ~]# cd /data/elk
[root@host-10-0-20-50 ~]# sz elasticsearch-5.6.10.tar.gz
SecureCRT下载文件
(1) sz的其他用法:
sz filename # 下载一个文件
sz filename1 filename2 # 下载多个文件
sz dir/* # 下载dir目录下的所有文件, 不包含dir下的文件夹
(2) 修改SecureCRT默认的上传/下载目录:
选择菜单栏的[Options(选项)] --> [Session Options(会话选项)] --> [X/Y/Zmodem], 然后修改Upload/Download路径即可.
2 通过sftp上传/下载文件
为了数据和服务的安全, 很多生产环境中的Linux服务器不能使用外网环境. 在只有SSH连接的情况下, 传输文件变得很不方便.
如果Linux服务器未安装用于上传和下载的lrzsz软件, 又不能现场安装, 此时可考虑使用sftp完成相关操作.
2.1 关于SFTP的简介
SFTP是Secure File Transfer Protocol(安全文件传输协议)的缩写, 可以为传输文件提供一种安全的网络的加密方法.
不需要单独安装或配置sftp —— 支持SSH连接的服务器, 也就默认开启了SFTP.
SFTP是SSH的一部分: 在SSH软件包中, 已经包含了SFTP安全文件信息传输子系统.
SFTP本身没有单独的守护进程, 它必须使用sshd守护进程 (端口号默认是22) 来完成相应的连接和答复操作.
所以从某种意义上来说, SFTP并不像一个服务器程序, 而更像是一个客户端程序.

