欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载

程序员文章站 2024-01-22 17:26:52
SecureCRT如何上传/下载文件? 服务器不能使用外网, 导致lrzsz软件无法安装时又该如何上传/下载文件? sftp如何上传/下载文件? 本篇文章详细告诉你要如何解决这些问题. ......

securecrt中有以下文件传输协议:
① ascii: 最快的传输协议, 但只能传送文本文件;
② xmodem: 古老的传输协议, 速度较慢, 但使用了crc错误侦测方法, 传输的准确率可高达99.6%;
③ ymodem: 是xmodem的改良版, 使用了1024位区段传送, 速度比xmodem快;
④ zmodem: zmodem采用了串流式(streaming)传输方式, 传输速度较快, 而且还具有自动改变区段大小和断点续传、快速错误侦测等功能.

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.

Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载

注意: 上传文件时, 如果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

Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载

扩展: 使用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

Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载

(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并不像一个服务器程序, 而更像是一个客户端程序.

2.2 sftp与ftp的区别

① ftp是一种方便数据共享的文件传输协议, 包括一个ftp服务器和多个ftp客户端. ftp客户端通过ftp协议从服务器上下载资源.

② sftp协议是在ftp的基础上, 对数据采取了加密/解密技术, 使数据传输更安全.

sftp的传输效率比ftp的低很多.

2.3 使用sftp之前的工作

windows系统下, 可以使用core ftp、filezilla、winscp、xftp等软件来连接sftp进行上传/下载文件、建立/删除目录等操作.

这里主要探讨linux系统下的操作.

(1) 软件环境:

可以使用任意终端工具, 比如macos下的terminal, 或iterm(此处演示使用), 或securecrt.

(2) sftp建立连接:

在终端中进行操作, 若打开securecrt的sftp: 菜单栏的[file] --> [connect sftp session]即可.

# 在默认的ssh端口(22)下连接: 
# sftp username@remote_ip(or remote host name), 连接root用户, 则可省略"root@".  
sftp root@10.0.20.51

# 在其他端口下的连接
sftp -o port=1000 username@remote_ip

如果出现验证, 填入正确的密码后即可实现远程连接. 连接成功后终端信息如图:

Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载

2.4 sftp - 上传文件

sftp与ftp有着几乎相同的语法和功能:

ls, rm, cd, mkdir, pwd 等指令是对当前连接的远程端服务器的操作;

lls, lrm, lcd, lmkdir, lpwd 等指令是对本地端服务器的操作 —— 在上述指令前加l(local)即可.

上传操作示例:

# 默认连接的都是root目录, 查看本地和远端/root路径下的文件: 
sftp> lls               # 本地
anaconda-ks.cfg  install.log  install.log.syslog  porc  remote.sh  test.sh
sftp> ls                # 远端
anaconda-ks.cfg  install.log  install.log.syslog  myid  remote.sh  test.sh

# 将本地的remote.sh文件上传至远端服务器的/home路径下: 

sftp> put remote.sh /home       # 指定远端接收路径为/home
uploading remote.sh to /home/remote.sh
remote.sh                                   100%  538     0.5kb/s   00:00
sftp> ls /home                  # 查看远端/home路径下的文件
/home/remote.sh

2.5 sftp - 下载文件

下载操作示例:

# 将远端/root路径下的myid文件下载至本地/home路径下: 
sftp> get /root/myid /home          # 指定远端文件 + 本地接收路径
fetching /root/myid to /home/myid
sftp> lls /home                     # 查看本地/home路径下的文件
myid

如果上传/下载的是文件夹, 在put/get命令后加上-r参数即可.

上述操作截图如下:

Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载

退出sftp:

在终端输入quit或者exit, 然后回车, 就能退出sftp连接.

参考

linux--用securecrt来上传和下载文件

版权声明

作者: ma_shoufeng(马瘦风)

出处: 博客园

您的支持是对博主的极大鼓励, 感谢您的阅读.

本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利.